RTTI (Run Time Type Information)
: 런타임 타입 정보, 객체의 런타임 정보를 얻을 수 있는 기능이다.
1. dynamic_cast
: RTTI를 이용하여 객체 계층 간에 타입 변환을 안전하게 할 수 있도록 해준다.
virtual이 없는 클래스에 하게 되면 컴파일러 오류가 발생한다.
2. typeid
: 런타임에 객체의 타입이 무엇인지 알 수 있게 해준다.
객체가 다형성을 가지면 virtual가 하나라도 있어야 올바르게 작동한다.