UObject, Component, Actor는 존재 위치와 생성 API가 다르다

월드에 있는지, 액터에 붙는지, 순수 데이터인지 나누면 소유자와 참조 유지 방식이 정리된다.

타입생성 위치수명 판단
UObjectNewObject로 만들고 Outer와 UPROPERTY 참조가 붙잡는다참조가 끊기면 GC 후보가 된다
Default Component생성자에서 CreateDefaultSubobject로 만든다액터와 함께 태어나고 사라진다
Runtime ComponentNewObject 후 RegisterComponent로 붙인다소유 Actor가 등록과 해제를 책임진다
AActorWorld 컨텍스트에서 SpawnActor로 만든다Destroy, BeginPlay, Tick, Replication을 고려한다

Actor는 월드와 Destroy 흐름으로 보고, UObject는 참조 그래프와 GC로 본다.