[C++/Unreal] RTTI와 Reflection
Computer Science/Programming Language·2025. 11. 7.
1. RTTI(RunTime Type Information)C++ 에는 다양한 연산자를 지원한다. 예전 포스팅: 형 변환(Type Casting)과 캐스팅 연산자에서 짧게 언급한 적이 있는데, 그중 눈여겨볼 것은 단연 dynamic_cast라 할 수 있다. dynamic_cast는 런타임 타입 검사를 수행해 안전한 다운캐스팅을 시도하는 캐스팅 연산자이다. 부모 클래스 포인터가 가리키는 인스턴스가 부모로부터 파생된 자식 혹은 자손 클래스 타입일 경우, 해당 파생 클래스 타입의 포인터를 반환한다. 아니라면 nullptr를 반환한다. 이러한 동작 방식으로 인해 안전한 다운캐스팅이 보장된다. 여기서 언급되는 '런타임 타입 검사'가 바로 RTTI에 의해 수행된다. RTTI는 프로그램 실행 중에 객체의 실제 동적 ..