Multiple Inheritance
다중 상속 위험 기준
다중 상속은 여러 능력을 합칠 수 있지만 같은 기반 클래스가 두 번 들어오거나 생성자 책임이 흐려지면 빠르게 복잡해집니다.
중복 기반
두 부모가 같은 기반을 상속하면 멤버 접근이 모호해질 수 있습니다.
공유 기반 하나
virtual inheritance는 공통 기반 객체를 하나만 유지하게 해 모호성을 줄입니다.
최종 파생 초기화
가상 기반 클래스는 중간 클래스가 아니라 최종 파생 클래스가 초기화합니다.
합성 대안
상태가 많은 구현을 섞는다면 멤버 객체로 보유하는 쪽이 더 명확할 수 있습니다.