- 순서
- UClass란?
- StaticClass란?
- GetClass란?
- 블루프린트와의 관계
- StaticClass와 GetClass의 차이
- UClass란?
- 언리얼 엔진에서 클래스에 대한 메타데이터와 리플렉션 정보를 담고 있는 객체
- 즉, C++ 클래스의 타입 정보를 언리얼 런타임에서 다룰 수 있게 해주는 구조체 같은 것
- StaticClass란?
- 언리얼 빌드 과정(UHT)이 각 UClass에 대해 자동으로 생성하는 정적 함수로 해당 클레스의 UClass* 메타 객체를 반환함
- UHT가 각 UClass()에 대해 자동으로 생성함
- C++ 클래스의 UClass*를 반환함
- 인스턴스 없이도 클래스 타입을 가리킬 수 있어 객체가 불필요함
- GetClass란?
- UObject의 인스턴스 메서드로, 현재 오브젝트가 어떤 클래스 타입인지 반환함.
- UObject의 멤버 함수로 선언하여 사용함.
- 해당 객체가 실제로 속한 UClass*를 반환함
- 객체 인스턴스가 있어야 호출 가능함.
- 블루프린트와의 관계
- 블루프린트로 만든 서브클래스가 있다면.
- SomeBPInstance->GetClass()는 서브클래스의 UClass*를 반환
- StaticClass()는 C++ 클래스의 UClass*를 반환
- GetClass() == StaticClass() 비교는 블루프린트 서브클래스가 있으면 false가 될 수 있음
- 상속을 허용하여 검사하려면 IsA/Cast를 사용해야함.
- StaticClass와 GetClass의 차이
| 항목 | GetClass() | StaticClass() |
| 호출 방식 | 인스턴스 멤버 | 정적 멤 |
| 객체 필요 여부 | 필요 | 불필요 |
| 반환 값 | 해당 인스턴스의 런타임 UClass* | 정적 선언된 클래스의 UClass* |
| 블루프린트 서브클래스와 비교 시 | BP 서브클래스의 UClass 반환 | C++ 원본 클래스의 UClass 반환 |
| 사용 예 | 런타임 타입 조회 | 스폰, 비교, TSubclassOf 등 |
'Unreal Engine' 카테고리의 다른 글
| [UE] 유효성 검사 (0) | 2025.08.29 |
|---|---|
| [UE]TSubclassOf (1) | 2025.08.29 |
| [UE] 언리얼 빌드 툴/헤더 툴 (0) | 2025.08.29 |
| [UE]스마트 포인터 (0) | 2025.08.29 |
| [UE] 언리얼 엔진의 GC (1) | 2025.08.28 |