[Basic C++] #10 오버라이드 키워드, override

2022. 3. 17. 13:10· 언어/Basic C++
목차
  1. [Basic C++] #10_오버라이드 키워드, override

[Basic C++] #10_오버라이드 키워드, override

 

C++ 개발에서 베이스 클래스의 가상 함수를 오버라이딩 하는 구체적인 예제들을 살펴보겠습니다.

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

 

 


 

오버라이드 키워드(override)
class Super
{
public:
    Super();
    virtual ~Super();
    virtual void someMethod(double d);
};

class Sub : public Super
{
public:
    Sub();
    virtual void someMethod(int i) override;	// 에러 발생!
};

먼저, "override" 키워드 사용의 필요성에 대해 복기해봅시다.

서브 클래스는 베이스 클래스에서 선언한 가상 함수 "someMethod"를 오버라이딩 할 목적을 갖고 있다고 가정합시다.

이때, 서브 클래스에서 재정의 할 목적으로 선언한 "someMethod" 가상 함수는 베이스 클래스의 것과 크게는 함수 시그니처가 다르고, 구체적으로 parameter의 데이터 타입이 다릅니다.

결과적으로, 서브 클래스는 베이스 클래스의 가상 함수와 이름만 같은 또 다른 가상 함수를 선언한 것에 지나지 않습니다.

따라서, 서브 클래스에서 재정의 할 목적으로 작성된 가상 함수를 "override" 키워드와 함께 선언하고 재정의하여, 혹시 모를 의도와 다른 상황이 발생했음을 알 수 있습니다. 

 

 

 

 

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

[Basic C++] #12 순수 가상 함수, 추상 클래스  (0) 2022.03.25
[Basic C++] #11 생성자의 상속  (0) 2022.03.18
[Basic C++] #9 객체의 업캐스팅과 다운캐스팅, 슬라이싱  (0) 2022.03.16
[Basic C++] #8 파생 클래스와 베이스 클래스의 연동, 생성 순서, 생성자 체이닝, 캐스팅  (0) 2022.03.16
[Basic C++] #7 클래스 상속 활용 방법  (0) 2022.03.10
  1. [Basic C++] #10_오버라이드 키워드, override
'언어/Basic C++' 카테고리의 다른 글
  • [Basic C++] #12 순수 가상 함수, 추상 클래스
  • [Basic C++] #11 생성자의 상속
  • [Basic C++] #9 객체의 업캐스팅과 다운캐스팅, 슬라이싱
  • [Basic C++] #8 파생 클래스와 베이스 클래스의 연동, 생성 순서, 생성자 체이닝, 캐스팅
Hardii2
Hardii2
Hardii2
개발 블로그
Hardii2
전체
오늘
어제
  • 분류 전체보기
    • 알고리즘
    • 웹 개발
      • Node.js
      • React
    • 게임개발
      • DirectX12
      • 관련 지식
      • Unreal C++
      • Unreal 블루프린트
    • 언어
      • Effective C++
      • Basic C++
      • 디자인 패턴
      • 자료구조
      • 기술 질문
    • 문제 풀이
      • BOJ 문제 풀이
      • Programmers 문제 풀이
      • geeksForgeeks 문제 풀이
    • 수학
      • 확률과 통계
      • 게임수학
    • 개인프로젝트
    • 그룹프로젝트
      • PM
      • Dev
    • Github

블로그 메뉴

  • 홈
  • 글쓰기

공지사항

인기 글

태그

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

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
Hardii2
[Basic C++] #10 오버라이드 키워드, override
상단으로

티스토리툴바

개인정보

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

단축키

내 블로그

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

블로그 게시글

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

모든 영역

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

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