C++ - 다중상속의 문제점(다이아몬드 문제)
다중상속 하나의 클래스가 여러 개의 부모 클래스로부터 상속을 받는 것이다. 다중 상속을 지원하지 않는 프로그래밍 언어가 많다.(ex.Java, C#, Ruby, Swift) -> 다중 상속을 사용할 경우 '다이아몬드 문제(Diamond Problem)'라고 불리는 상황이 발생할 수 있기 때문에 사용 시 주의가 필요하다. 다이아몬드 문제( Diamond Problem ) A / \ B C \ / D 이름 충돌 클래스 D가 클래스 B와 클래스 C로부터 상속 받은 멤버 중 동일한 이름을 가진 멤버가 있는 경우, 해당 멤버에 접근할 때 모호성이 발생한다. 컴파일러는 어떤 멤버에 접근해야 하는지 판단하기 어려워 에러가 발생한다. 중복된 데이터 클래스 D가 클래스 B와 클래스 C로부터 각각 상속 받은 클래스 A의 ..