클래스(class)란?
클래스(class)는 변수(variable)와 함수(function)를 묶어서 하나의 객체(object)를 만드는 설계도입니다. 게임에서 플레이어, 적, 아이템 등을 만들 때 사용합니다.
public class Human : MonoBehaviour
{
public string myName;
public bool isSolo;
public void Eat() {
Debug.Log("먹는다");
}
private void Sleep() {
Debug.Log("잔다");
}
}
상속(inheritance)이란?
상속(inheritance)은 기존 클래스(class)의 기능을 그대로 가져와서 새로운 클래스(class)를 만드는 방법입니다. 부모 클래스(class)의 모든 변수(variable)와 함수(function)를 자식 클래스(class)에서 사용할 수 있습니다.
// 부모 클래스 (Human)
public class Human : MonoBehaviour
{
public string myName;
public void Eat() {
Debug.Log("먹는다");
}
}
// 자식 클래스 (GwangSeub) - Human을 상속받음
public class GwangSeub : Human
{
void Start()
{
myName = "마광습"; // 부모 클래스의 변수 사용 가능
Eat(); // 부모 클래스의 함수 사용 가능
}
}
상속(inheritance)의 장점
- 코드 재사용: 부모 클래스(class)의 코드를 다시 작성할 필요 없음
- 일관성: 비슷한 객체(object)들이 같은 기능을 공유
- 유지보수: 부모 클래스(class)만 수정하면 모든 자식 클래스(class)에 적용
실전 예시: 자동차 클래스(class)
// 부모 클래스: Car
public class Car : MonoBehaviour
{
public string carColor;
public int carMaxSpeed;
public void Driving() {
Debug.Log("운전중");
}
public void pushBrake() {
Debug.Log("브레이크");
}
}
// 자식 클래스: BMW (Car를 상속받음)
public class BMW : Car
{
void Start()
{
carColor = "Black"; // 부모 클래스의 변수 사용
carMaxSpeed = 250; // 부모 클래스의 변수 사용
Driving(); // 부모 클래스의 함수 사용
}
}
상속(inheritance) 관계 표현
- 부모 클래스 (Parent Class): 상속(inheritance)을 해주는 클래스 (Human, Car)
- 자식 클래스 (Child Class): 상속(inheritance)을 받는 클래스 (GwangSeub, BMW)
- 상속(inheritance) 문법:
class 자식클래스 : 부모클래스