RTTI (Run-Time Type Information)와 RAII (Resource Acquisition Is Initialization)는 C++에서 사용되는 다른 목적을 가진 두 가지 개념이다.
RTTI는 실행 시간에 객체의 실제 자료형에 대한 정보를 파악할 수 있도록 하는 C++ 메커니즘이다.
일반적으로 클래스의 가상 함수 테이블(VTable)을 통해 접근 가능하기에 가상 함수를 가진 클래스에서만 동작한다.
dynamic_cast:nullptr을 반환하고 참조의 경우 std::bad_cast 예외를 throwtypeid: 주어진 표현식의 정확한 자료형에 해당하는 std:type_info 객체를 반환RAII는 자원 관리를 위한 프로그래밍 기법으로, 자원의 수명 주기를 객체의 수명 주기에 묶는 방식이다.
std::unique_ptr / std::shared_ptr (메모리 관리)std::lock_guard / std::unique_lock (뮤텍스 락 관리)