상세 컨텐츠

본문 제목

가상테이블(Virtual Table)

C++/다형성

by nowpassion 2008. 5. 5. 14:32

본문

- 가상테이블은 가상함수를 위한 테이블입니다.
- 클래스가 하나이상 가상함수를 가지고 있다면 컴파일러가 가상테이블을 생성합니다.
- 가상테이블의 구성요소
   - Key값 : 클래스 내부의 가상함수 목록
   - Key값에 해당하는 오프셋
- 실제 오프셋을 가지고 있기 때문에 가상함수가 호출되면 클래스의 실제 주소에 맞춰서 함수를
   호출할 수 있는 것입니다.
- 단점 : 이에 따른 오버헤드(메모리 소요)가 존재한다. 거쳐가기전에 돌아가기 때문에 효율성이
   떨어진다.

'C++ > 다형성' 카테고리의 다른 글

연산자 오버로딩  (0) 2008.05.05
Virtual 소멸자  (0) 2008.05.05
순수가상함수와 추상클래스  (0) 2008.05.05

관련글 더보기