헛둘이 2024. 10. 13. 14:59

본 카테고리는 언리얼 공부 중 문법적으로 궁금한거나 알아두어야 할 중요한 부분들에 대해서 명확하게 알기 위해 공식 도큐먼트를 참고하여 저장해두기 위한 카테고리입니다.

 

1. 의미 (공식 도큐먼트에서 정의하는 문법적 의미)

2. 특징 (해당 구문의 특징)

3. 예시 (예제를 통한 사용처)

 

와 같이 정리합니다.

 


1. 의미

- 특정 클래스의 서브 클래스를 지정하거나 관리하기 위한 클래스입니다.

 

 

 

 

 

2. 특징

 2-1. 타입 안정성 제공

   - 특정 클래스서브 클래스만 할당할 수 있기 때문에 의도하지 않은 클래스 타입이 들어오는 것을 방지할 수 있습니다.

 

 2-2. 템플릿 형식

   - 템플릿 클래스이며, 타입을 설정할 때 기본 클래스를 설정해주어야 합니다.

 

 2-3. Blueprint 친화성

   - Blueprint 변수로 설정할 수 있고 그러면 드롭다운 형태로 선택이 가능합니다.

 

 

 

 

 

3. 예시

// 클래스 멤버 변수로 선언
TSubclassOf<AActor> ActorClass;

// 특정 함수에서 사용
void SpawnMyActor(TSubclassOf<AActor> InActorClass)
{
    // UWorld::SpawnActor는 TSubclassOf와 호환되므로 바로 사용 가능
    GetWorld()->SpawnActor<AActor>(InActorClass);
}