Unity C# 상속 Inheritance
Intro
유니티 C# 상속
클래스 상속
부모 클래스
abstract public class Human : MonoBehaviour
{
protected string MyName;
protected int Age;
protected virtual void Info()
{
print("나는 인간 입니다.");
}
자식 클래스
public class Student : Human
{
string schoolName;
// Start is called before the first frame update
void Start()
{
schoolName = "학교";
MyName = "마동석";
Age = 20;
Info();
}
protected override void Info()
{
base.Info();
PrintName();
}
}
Student : Human
을 통해 Student
클래스는 Human
클래스를 상속받아 Human
클래스의 변수와 함수를 사용할 수 있게된다.
이때 접근지정자는 protected
로 지정해 상속받은 클래스에서도 접근할 수 있도록한다.
Virtual 함수
부모 클래스에 있는 함수에 virtual
키워드는 자식 클래스에서 재정의(오버라이딩) 할 수 있도록 허용한다는 것이다.
재정의된 Info 함수
protected override void Info()
{
base.Info();
PrintName();
}
재정의 할땐 override
키워드를 통해 재정의한다.
Abstract
abstract
는 파생클래스에서 반드시 재정의해주어야 하는 함수앞에 쓰인다.
abstract
키워드를 사용하려면 해당 클래스도 abstract
를 붙여주어야한다.
abstract
가 붙은 추상클래스는 인스턴스화 될 수 없다.
부모 클래스
abstract public class Human : MonoBehaviour
{
abstract protected void PrintName();
}
자식 클래스
protected override void PrintName()
{
print(MyName);
print(schoolName);
}
실행 결과
참고자료
https://youtu.be/Qd-cnRYmbTY?list=PLUZ5gNInsv_O7XRpaNQIC9D5uhMZmTYAf
댓글남기기