[Basic C++] #20_virtual 키워드, vtable 오버헤드

2022. 5. 1. 18:41· 언어/Basic C++
목차
  1. [Basic C++] #20_virtual 키워드, vtable 오버헤드 

[Basic C++] #20_virtual 키워드, vtable 오버헤드 

 

C++ 개발에서 오버라이딩을 사용 시 주의할 점에 대해서 알아보겠습니다.

"전문가를 위한 C"의 9 항목, "클래스 상속 활용 테크닉"에 해당하는 내용입니다.

 

 


 

virtual 키워드 사용 이유

 

Java 언어는 모든 메소드를 무조건 virtual로 취급합니다.

이처럼, C++에서도 모든 메소드를 virtual로 취급하면 더 편리하지 않을까 생각합니다.

그럼에도 불구하고, "virtual" 키워드의 강조는 "vtable" 이용에 따른 오버헤드때문입니다.

 

"virtual" 메서드, 즉 가상 멤버 함수 호출을 위해 "vtable"이 담고 있는 포인터를 역 참조하여

실행할 메서드의 위치를 찾아오는 부가적인 작업이 필요합니다.

 

물론, 날로 발전하고 있는 CPU 성능에 따라, virtual 메소드의 사용은 나노초 이하의 작은 단위로 측정되고 있습니다. 성능 차이가 미미하지만, 알아 두는 것이 좋겠습니다.

 

 

 

'언어 > Basic C++' 카테고리의 다른 글

[Basic C++] #23_참조형 파라미터, 참조에의한 전달  (0) 2022.05.08
[Basic C++] #21_가상 상속  (0) 2022.05.01
[Basic C++] #19_virtual, virtual의 내부 구현  (0) 2022.04.30
[Basic C++] #18_오버라이딩의 특수한 경우 여섯 번째, 일반 메소드의 오버라이딩  (0) 2022.04.30
[Basic C++] #17_오버라이딩의 특수한 경우 다섯 번째, 복제 생성자, 대입 연산자  (0) 2022.04.24
  1. [Basic C++] #20_virtual 키워드, vtable 오버헤드 
'언어/Basic C++' 카테고리의 다른 글
  • [Basic C++] #23_참조형 파라미터, 참조에의한 전달
  • [Basic C++] #21_가상 상속
  • [Basic C++] #19_virtual, virtual의 내부 구현
  • [Basic C++] #18_오버라이딩의 특수한 경우 여섯 번째, 일반 메소드의 오버라이딩
Hardii2
Hardii2
Hardii2
개발 블로그
Hardii2
전체
오늘
어제
  • 분류 전체보기
    • 알고리즘
    • 웹 개발
      • Node.js
      • React
    • 게임개발
      • DirectX12
      • 관련 지식
      • Unreal C++
      • Unreal 블루프린트
    • 언어
      • Effective C++
      • Basic C++
      • 디자인 패턴
      • 자료구조
      • 기술 질문
    • 문제 풀이
      • BOJ 문제 풀이
      • Programmers 문제 풀이
      • geeksForgeeks 문제 풀이
    • 수학
      • 확률과 통계
      • 게임수학
    • 개인프로젝트
    • 그룹프로젝트
      • PM
      • Dev
    • Github

블로그 메뉴

  • 홈
  • 글쓰기

공지사항

인기 글

태그

  • 그래프
  • 개발
  • 트리
  • C++
  • programmers
  • dfs
  • 알고리즘
  • DP
  • Unreal Blueprint
  • 디자인 패턴
  • set
  • Effective C++
  • stl
  • 우선순위 큐
  • unreal
  • BOJ
  • 최단 경로
  • BFS
  • 기술 질문
  • 정렬

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
Hardii2
[Basic C++] #20_virtual 키워드, vtable 오버헤드
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.