VTABLE (Virtual Table) 개념
C++에서 VTABLE(가상 테이블)은 가상 함수(virtual function)의 동적 디스패치(dynamic dispatch)를 지원하기 위해 컴파일러가 내부적으로 생성하는 구조입니다. 이는 다형성(polymorphism)의 핵심 구현 메커니즘입니다.
VTABLE은 상속구조에서 동적바인딩이라는 특성을 가진다.
VTABLE은 컴파일러가 자동으로 생성하며, 클래스 내의 모든 가상 함수에 대한 함수 포인터들의 배열로 구현된다.

< 클래스 정의 >
Base 클래스에 가상 함수 show()가 있으므로 Base 클래스의 VTABLE이 생성
Derived 클래스는 Base의 show()를 재정의했으므로 Derived 클래스의 VTABLE도 생성
< 객체 생성 >
Derived 객체가 생성될 때, VPTR이 Derived 클래스의 VTABLE을 가리키게 설정
< 가상함수 호출 >
basePtr->show() 호출 시:
basePtr은 Derived 객체를 가리키므로, VPTR은 Derived의 VTABLE을 참조
VTABLE을 통해 Derived::show()의 함수 포인터를 찾아 호출
장점)
가상함수를 통한 다형성을 구현가능
단점)
1) 함수 포인터 참조로 인해, 살짝 느린 기능
2) 메모리 사용량 증가