multiple

다중 상속은 diamond, virtual, ctor, compose 네 단어로 최종 판단한다

코드 가능 여부보다 상태 중복과 생성 책임을 표로 확인해야 한다.

diamond공통 기반이 두 번 들어오는가
virtual공유 기반을 하나로 묶는가
ctor최종 파생이 기반을 초기화
compose상속보다 멤버 조합이 쉬운가
선택쓸 때다음 확인
그냥 다중 상속상태 없는 역할 조합이름 충돌 없음
virtual 상속공통 기반을 하나만 공유최종 생성자 책임
합성상태와 소유권이 섞임멤버 위임으로 단순화

핵심 diamond, virtual, ctor, compose 네 단어만 남기면 다중 상속 판단이 흐려지지 않는다.