런타임 형식 정보
RTTI(런타임 형식 정보)는 프로그램 실행 중에 개체의 형식이 결정될 수 있도록 하는 메커니즘입니다. 많은 클래스 라이브러리 공급업체가 이 기능을 자체적으로 구현하고 있었기 때문에 RTTI가 C++ 언어에 추가되었습니다. 이 때문에 라이브러리 간에 호환되지 않는 문제가 발생하게 되었으므로 언어 수준에서 런타임 형식 정보에 대한 지원이 필요하다는 사실이 명백해졌습니다.
명확성을 위해 여기에서 RTTI에 대한 설명은 거의 전적으로 포인터에 국한됩니다. 하지만 설명된 개념은 참조에도 적용됩니다.
런타임 형식 정보에는 다음 세 가지 기본 C++ 언어 요소가 있습니다.
dynamic_cast 연산자
다형 형식을 변환하는 데 사용됩니다.
typeid 연산자
개체의 정확한 형식을 식별하는 데 사용됩니다.
type_info 클래스
typeid 연산자에서 반환된 형식 정보를 저장하는 데 사용됩니다.