Unity

MonoBehaviour

gcreators 2024. 9. 12. 17:45

유니티에서는 C# scripts를 유니티에서 사용하기 편하도록 자동생성을 할 수 있다.

 

자동 생성 되는 스크립트에는 MonoBehaviour 라는 클래스를 상속 받는데

네임 스페이스(using UnityEngine)를 보면 알겠지만 해당 클래스는 UnityEngine 내에 존재하는 클래스이다.

 

그렇다고해서 유니티에서 사용되는 모든 클래스에 MonoBehaviour 를 상속 받을 필요는 없다

여러 기능들을 모아둔 Utility Class, Helper 같은 역할을 하는 클래스의 경우엔 이를 꼭 쓸 필요는 없는 것이다

MonoBehaviour 를 상속받는 가장 큰 이유는

이 인스펙터를 활용하기 위해서 라고 보면 된다.

 

인스펙터에 있는 모든 컴포넌트들은 다 코드에서 동작하는 기능들을(클래스 혹은 구조체) 시각적으로 보여주는 것이다.

 

그리고 특징이 더 있다면

MonoBehaviour를 상속받는 클래스들은 동적할당을 하는 클래스들이 아니다.

MonoBehaviour를 상속받는 클래스는 동적 할당 없이 인스턴스화된다. 이는 Unity 엔진이 내부적으로 객체의 생명주기(Life - Cycle)를 관리하기 때문이다.

※Life-Cycle의 경우 현재 유니티 공식 링크를 달아놨지만 추후 정리를 하여 다시 링크를 추가할 예정이다.

 

위 Inspector 스샷을 보면 Player라는 클래스가 코딩된 스크립트를 추가해놨는데

이는 Player 라는 이름의 GameObject를 구성하는 컴포넌트중 하나가 된다.

그리고 GameObject는

이렇게 Hierarchy에 있어야 동적할당이 된 것이라고 이해 하면 된다.

'Unity' 카테고리의 다른 글

Transform(2) - position  (0) 2024.09.20
Transform(1) - 좌표  (0) 2024.09.20
충돌 처리(1) - AABB  (0) 2024.09.19
Inspector  (0) 2024.09.12
벡터(Vector)  (1) 2024.09.10