[디딤돌 C++] 27. 상속(일반화 관계) 개요

학생) "피아니스트는 음악가이다." 일반화 관계는 "이다.(is a)" 관계라고 불러요. 음악가를 기반으로 파생한 피아니스트 클래스는 기반 클래스의 멤버를 상속받아요.

이제 OOP의 세 가지 주요 특징인 캡슐화, 상속, 다형성 중에 상속에 관해 알아볼게요.

상속은 다른 형식에 정의한 것을 마치 자신에서 정의한 것처럼 만드는 OOP의 특징입니다. 이러한 관계를 UML에서는 일반화 관계라 부르고 삼각형과 실선으로 관계를 표시합니다.

일반화 관계는 삼각형에 실선으로 표시해요.

일반화 관계는 “피아니스트는 음악가이다.”처럼 “이다.(is a)”로 나타낼 수 있는 관계입니다. 이 때 음악가처럼 일반적인 클래스를 기반 클래스라 말하며 피아니스트처럼 특수한 클래스를 파생 클래스라 부릅니다.

C++에서 일반화 관계를 표현할 때 파생 문법을 이용합니다. 파생 문법은 파생 클래스를 정의할 때 기반 클래스를 다음처럼 나타냅니다.

파생 클래스를 정의하면 기반 클래스에 정의한 것도 자신의 내부에 정의한 것처럼 멤버를 상속받습니다.

예를 들어 음악가 클래스에서 “연주하다.” 기능을 정의하면 파생 클래스 피아니스트에는 기반 클래스의 멤버를 상속받아 “연주하다.” 기능을 정의한 것처럼 사용할 수 있습니다.

▷ 실행 결과

딩동댕


[C++ 무료 동영상 강의] 27. 상속(일반화 관계) 개요