MonoBehaviour 클래스는 컴포넌트와 스크립트를 포함할 수 있는 Unity 씬의 오브젝트인 게임 오브젝트의 수명 주기를 관리하기 위한 기능을 제공하는 Unity의 기본 클래스입니다. 다음은 모노비헤이비어의 수명 주기에 대한 개요입니다:
1. 생성(Creation) :
MonoBehaviour 컴포넌트가 포함된 게임 오브젝트가 생성되면 MonoBehaviour의 생성자가 호출됩니다. 이 시점에서 모노비헤이비어는 아직 완전히 초기화되지 않았으므로 다른 게임 오브젝트나 컴포넌트에 액세스하는 데 사용해서는 안 됩니다.
2. 초기화(Initialization) :
MonoBehaviour의 생성자가 호출된 후 Unity 엔진은 Awake 메서드를 호출하여 MonoBehaviour를 초기화합니다. Awake 메서드는 모노비헤이비어가 실행을 시작하기 전에 필요한 데이터나 리소스를 초기화하는 데 사용됩니다. 여기에는 변수 초기화, 다른 오브젝트 또는 컴포넌트에 대한 레퍼런스 설정, 디스크에서 리소스 로드 등이 포함될 수 있습니다.
3. 활성화(Enabling) :
Awake 메서드가 완료되면 Unity 엔진은 OnEnable 메서드를 호출하여 MonoBehaviour가 이제 활성화되고 활성화되었음을 나타냅니다. OnEnable 메서드는 Awake 메서드가 호출된 후 MonoBehaviour가 실행되기 전에 수행해야 하는 모든 설정 또는 초기화를 수행하는 데 사용됩니다. 여기에는 다른 컴포넌트를 활성화 또는 비활성화하거나 이벤트 리스너를 설정하는 것이 포함될 수 있습니다.
4. 시작(Starting) :
모노비헤이비어가 활성화된 후 Unity 엔진은 Start 메서드를 호출하여 모노비헤이비어가 완전히 초기화되고 실행을 시작할 준비가 되었음을 나타냅니다. Start 메서드는 코루틴을 설정하거나 모노비헤이비어의 상태를 초기화하는 등 모노비헤이비어가 활성화된 후에 수행해야 하는 모든 설정 또는 초기화를 수행하는 데 사용됩니다.
5. 업데이트(Update) :
모노비헤이비어가 완전히 초기화되면 Unity 엔진은 매 프레임마다 Update 메서드를 호출하기 시작합니다. Update 메서드는 오브젝트 이동이나 사용자 입력 처리와 같이 매 프레임마다 수행해야 하는 로직이나 계산을 수행하는 데 사용됩니다.
6. 비활성화(Disabling) :
런타임 중에 모노비헤이비어가 비활성화되면 Unity 엔진은 OnDisable 메서드를 호출하여 모노비헤이비어가 더 이상 활성화 또는 비활성화되지 않았음을 나타냅니다. OnDisable 메서드는 코루틴을 취소하거나 진행 중인 작업을 중지하는 등 모노비헤이비어가 비활성화되었을 때 수행해야 하는 모든 정리 또는 종료를 수행하는 데 사용됩니다.
7. 소멸(Destruction) :
마지막으로 모노비헤이비어가 파괴되거나 게임 오브젝트에서 제거되면 Unity 엔진은 OnDestroy 메서드를 호출하여 모노비헤이비어가 곧 소멸될 것임을 알립니다. OnDestroy 메서드는 리소스 해제 또는 이벤트 리스너 제거와 같이 모노비헤이비어가 소멸되기 전에 수행해야 하는 정리 또는 종료를 수행하는 데 사용됩니다.
생명 주기의 큰 개요는 7가지로 나타나있지만, 보다 자세한 설명은 유니티 공식 문서를 확인하는 것이 가장 좋습니다. 전반적으로 모노비헤이비어의 생명주기는 Unity 씬에서 게임 오브젝트의 상태와 동작을 관리하는 데 중요합니다. MonoBehaviour 클래스의 다양한 메서드를 구현하여 게임 오브젝트의 초기화, 활성화, 업데이트, 비활성화 및 소멸 방법을 제어하고 관련 리소스 및 데이터를 관리할 수 있습니다.
'개발 > 유니티' 카테고리의 다른 글
드로우콜(DrawCall)이란? (1) | 2023.03.13 |
---|---|
유니티의 기본 메소드(Default Method)에 개념과 호출순서 (0) | 2023.03.08 |
유니티의 장점은 무엇이 있을까? (0) | 2023.03.05 |
오브젝트 풀링(Object pooling)은 왜 사용할까? (0) | 2023.02.11 |
유니티 파이어베이스 애널리틱스 사용하기 (0) | 2022.09.27 |