1. UObject란?
UObject는 언리얼 엔진의 모든 클래스 계층 구조에서 최상위 클래스 역할을 한다. UObject는 C++ 클래스지만, 언리얼 엔진의 리플렉션 시스템과 Garbage Collection(가비지 컬렉션)에 통합되어 있어 메모리 관리와 데이터 직렬화 등에서 중요한 역할을 한다.
2. UObject 특징
-
리플렉션 시스템 지원
- UObject는 언리얼 엔진의 리플렉션 시스템과 긴밀히 통합되어 있어, 클래스, 프로퍼티, 메서드 등을 엔진 내부에서 런타임에 탐색할 수 있다.
- 이를 통해 블루프린트, 에디터에서 객체를 직관적으로 조작할 수 있다.
-
Garbage Collection
- 언리얼 엔진은 자동 메모리 관리를 위해 가비지 컬렉션 시스템을 사용한다. UObject는 이 시스템에 의해 관리되며, 메모리 누수를 방지한다.
-
네트워킹 및 직렬화
- UObject 기반 클래스는 네트워크 동기화와 데이터 직렬화에 필요한 메타데이터와 구조를 기본적으로 포함한다.