Unreal Engine

16. UClass VS TSubclassOf

CE : 하랑 2026. 3. 15. 21:29

(1) UClass를 사용할경우!

/** type of damage */
UPROPERTY(EditDefaultsOnly, Category=uclassDmage)
UClass* DamageType;

- UClass로 할당될수 있는 모든클래스들이 보인다 이렇게될경우 잘못된 클래스를 할당할수 있다.

 

(2) TSubclassOf

- 언리얼 프로그래밍시 UClass유형의 안정성을 위해 사용할수있는 템플릿클래스이다.

TSubclassOf를 사용할경우!

/** type of damage */
UPROPERTY(EditDefaultsOnly, Category=tsubDmage)
TSubclassOf<UDamageType> DamageType;

- TSubclassOf의경우는 UDabageType 으로 파생된 클래스만 할당할수 있어 안정성을 확보할 수 있다.

- Tsubclassof 에 호환되지 않는 클래스를 할당하려 했을때 한번 검증하는 과정을 거친다,

 할당할수 없는경우 컴파일 오류가 난다.

 

UDamageType* dmgType; //인스턴스(이미 생성된 오브젝트)를 가리킴!!!
//생성된거면 해당 객체를 가리키고
//생성안된거면 nullptr 가리킴


UClass* DamageType; //클래스를 가리킴



TSubclassOf<UDamageType> DamageType; //클래스를 가리킴

 

 

'Unreal Engine' 카테고리의 다른 글

18. 언리얼 엔진의 CDO  (0) 2026.03.22
17. FName, FText, FString  (0) 2026.03.15
15. 게임 모드  (1) 2026.03.15
13. 언리얼 MultiMap  (0) 2026.02.08
12 . 언리얼 TArray Sort VS StableSort  (0) 2026.02.08