클래스와 상속

C#의 클래스와 상속을 학습합니다. 클래스를 만들고 상속을 사용하여 코드를 효율적으로 재사용하는 방법을 이해합니다.

클래스(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 자식클래스 : 부모클래스

← 목차로 돌아가기