UObject, Component, Actor는 존재 위치와 생성 API가 다르다
월드에 있는지, 액터에 붙는지, 순수 데이터인지 나누면 소유자와 참조 유지 방식이 정리된다.
| 타입 | 생성 위치 | 수명 판단 |
|---|---|---|
| UObject | NewObject로 만들고 Outer와 UPROPERTY 참조가 붙잡는다 | 참조가 끊기면 GC 후보가 된다 |
| Default Component | 생성자에서 CreateDefaultSubobject로 만든다 | 액터와 함께 태어나고 사라진다 |
| Runtime Component | NewObject 후 RegisterComponent로 붙인다 | 소유 Actor가 등록과 해제를 책임진다 |
| AActor | World 컨텍스트에서 SpawnActor로 만든다 | Destroy, BeginPlay, Tick, Replication을 고려한다 |
Actor는 월드와 Destroy 흐름으로 보고, UObject는 참조 그래프와 GC로 본다.