언리얼 엔진에서 C++ 클래스를 만들다 보면UObject가 여러 클래스들의 기반이 되는 최상위 클래스로 존재한다는 것을 볼 수 있다.예를 들어 월드에 배치할 수 있는 AActor나,Actor에 부착해서 기능을 분리하는 UActorComponent는 UObject를 기반으로 만들어진 클래스이다.처음에는 UObject를 단순히 언리얼에서 사용하는 기본 클래스 정도로 생각했다.하지만 공부해보니 UObject를 상속받으면서언리얼 엔진의 여러 기능을 사용할 수 있다는 것을 알게 되었다.대표적으로 리플렉션, 가비지 컬렉션, 직렬화, 블루프린트 연동, CDO 같은 개념들이 있다.이전에 리플렉션, GC, CDO 같은 개념을 따로 정리한 적이 있기 때문에이번 글에서는 이 기능들이 UObject와 어떻게 연결되는지 간단히..