안녕하세요 극꼼이입니다.
지난 포스팅에서 class에 대해 다룬 것에 이어 상속과 MonoBehavior에 대해 다뤄보겠습니다.
* class : https://geukggom.tistory.com/101
우선 상속에 대해서는 객체 지향 프로그래밍에 대한 포스팅(https://geukggom.tistory.com/100)에서 조금 설명한 바 있습니다.
상속은 부모 클래스로부터 공통된 변수와 함수, 인터페이스를 그대로 물려받는 것을 말합니다.
상속은 비슷한 객체들의 부모 클래스와 인터페이스를 정의하여 공통화 한 다음 상속받아 객체를 좀 더 다루기 쉽게 합니다.
상속은 다음과 같은 특성을 가집니다.
1. 부모 클래스에서 공통 기능에 대한 동일 속성과 함수를 정의하면, 해당 클래스를 상속받는 자식 클래스에서는 정의하지 않고 공통 기능을 사용할 수 있음.
2. 특정 속성과 함수의 내용을 자식 클래스에서 다르게 동작하도록 재정의할 수 있음.
상속에 쓰이는 키워드인 virtual, override, abstract에 대한 포스팅입니다.
https://geukggom.tistory.com/75
이 포스팅에서 상속하는 방법에 대해 좀 더 자세히 다루고 있습니다.
MonoBehaviour는 유니티에서 모든 스크립트가 상속받는 기본 클래스입니다. MonoBehaviour 클래스 또한 취상위 부모 클래스가 아니라 여러 개의 클래스를 상속받고 있습니다.
* MonoBehaviour의 상위 클래스 : Object > Component > Behaviour > MonoBehaviour
- MonoBehaviour를 상속받지 않는 스크립트는 inspector창에서 오브젝트의 컴포넌트로 붙일 수 없습니다.
- new 키워드를 MonoBehavior에 사용하면 경고 표시가 뜹니다. 따라서 객체를 생성하고 싶다면 원하는 오브젝트에 AddComponent()로 클래스를 붙이거나, 해당 클래스가 부착된 오브젝트를 Instantiate로 생성해줍니다.
- MonoBehaviour가 가진 라이프사이클(기본 함수) : https://geukggom.tistory.com/84
- 라이프사이클 함수 이외의 기타 MonoBehaviour가 가진 메시지 : https://docs.unity3d.com/kr/530/ScriptReference/MonoBehaviour.html
'[Unity] > [C#]' 카테고리의 다른 글
[C# 기초] #17.자료구조란? (0) | 2022.01.22 |
---|---|
[C# 기초] #16. Property(프로퍼티) (0) | 2021.08.01 |
[C# 기초] #14. 클래스(class) (0) | 2021.07.24 |
[C#] 객체 지향 프로그래밍이란? (Object Oriented Programming, OOP) (2) | 2021.07.23 |
[C#] 두 점, 두 벡터 사이의 각도 구하는 법 (-180 ~ 180) (0) | 2021.07.22 |