죽음의 다이아몬드
다중 상속
다중 상속이란 하나의 클래스가 두 개 이상의 클래스를 상속 받는 것을 말합니다.
코드
class GrandParent
{
// 생략
};
class Parent
{
// 생략
};
class Child : public Parent, public GrandParent // 두 개의 클래스를 다중 상속
{
// 생략
};
죽음의 다이아몬드
위 그림과 같이 'ComboDrive'라는 클래스가 두 개의 클래스를 상속 받고 있습니다. 그리고 상속 받는 두 개의 클래스가 하나의 공통된 클래스를 상속 받습니다. 이 경우, 최상단에 위치한 'DigitalRecorder' 클래스의 필드와 메소드가 중첩되는 현상이 발생합니다. 이것을 '죽음의 다이아몬드'라고 합니다.
정리
- 하나의 클래스가 두 개 이상의 클래스를 상속 받는 것을 다중 상속이라고 한다.
- 다중 상속받은 두 개 이상의 클래스가 하나의 클래스를 상속할 때 죽음의 다이아몬드라고 한다.
- 죽음의 다이아몬드가 발생하면 어느 클래스를 통해서 최상위 클래스의 멤버에 접근할 것인지 모호한 문제가 발생한다.
Author And Source
이 문제에 관하여(죽음의 다이아몬드), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@modin/죽음의-다이아몬드저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)