Unreal Engine 5_5 버전을 기준으로 작성되었습니다.
언리얼에서 파생 클래스 생성 시 클래스명 앞에 붙는 접두사에 대해 정리한 문서입니다.
E(Enum)와 S(SWidget)접두사처럼 강제적이지않은 프로젝트에서 관례적으로 쓰는 접두사는 제외했습니다.
U 접두사는 UObject를 상속받는 모든 클래스를 의미합니다. UObject는 언리얼의 최상위 기본 클래스 중 하나로 언리얼 엔진의 오브젝트는 UObject 또는 그 파생 클래스를 상속받아 생성됩니다.
월드에 배치되지 않으며 데이터 저장과 연산을 담당하는 객체에 사용되기 때문에 위치정보를 가지지 않습니다.
A 접두사는 월드에 배치(Spawn)될 수 있는 객체, 즉 액터를 의미합니다. AActor가 UObject를 상속받지만 AActor를 상속받는 오브젝트는 A를 붙여줍니다.
게임 내에서 트랜스폼(Transform)을 가지며, 물리 및 충돌 시스템과 상호작용 가능합니다. 네트워크 리플리케이션을 지원합니다.
T 접두사는 언리얼 템플릿 클래스를 의미합니다. 언리얼에서 제공하는 메모리 관리 및 최적화에 특화된 자료구조(컨테이너, 스마트 포인터 등)에 사용됩니다.
F 접두사는 UObject를 상속받지 않는 일반적인 C++ 클래스를 의미합니다. 템플릿 클래스를 활용하지만 데이터 타입이 고정되어 있는 FVector, FRotator, FTransform 같은 클래스도 F 접두사를 가집니다.
I 접두사는 인터페이스(Interface) 클래스를 의미합니다. 인터페이스 클래스는 선언만 포함하고 직접 구현을 가지지 않는 클래스로 C++의 다중 상속을 위해 사용됩니다.