
C#에서 클래스 다중 상속을 지원하지 않는 이유=> 다이아몬드 상속 문제 때문.!! 다이아몬드 상속 문제 클래스 A를 상속받는 B와 C 클래스가 있다. 클래스 D가 B와 C를 모두 상속받은 경우, D에서 A의 함수를 호출하면 B와 C 중 어느 쪽의 오버라이딩된 구현을 사용할지 모호해지는 문제가 발생한다. 이걸 다이아몬드 상속 문제라고 한다. 이런 모호성 때문에 C#에서는 근본적으로 막아놨다. C#에서는 클래스 다중 상속을 지원하지 않아서 처음 공부할 때 당황스러웠던 기억이 난다!!! 그럼 클래스 하나만 상속받아가면서 답답해서 어떻게 짜지? 라고 생각했었다. 그대신 인터페이스는 다중 상속이 가능하다. 현재는 꽤 적응해서 abstract과 interface를 사용해가며 잘만 코딩하며 사는 중이다. 그런데 오..