virtual function C++

YoungJoon Suh·2025년 12월 30일

프로그램 내부적으로 가상함수는 VTABlE과 vptr(Virtual pointer)를 통해 처리됩니다. 기반 클래스에 virtual 함수가 선언되면 해당 클래스의 모든 객체는 자신의 메모리에 vptr이라는 숨겨진 포인터를 갖게 되면 이 vptr은 해당 클래스의 VTABLE을 가리킵니다. VTABLE에는 실제 가상함수들의 메모리 주소가 저장되어 있어, 포인터가 어떤 객체를 가리키든 런타임에 실제 호출될 함수 (파생클래스에서 재정의된 함수)를 찾아 동적으로 호출(동적 바인딩)합니다.

profile
저는 서영준 입니다.

0개의 댓글