질문자 : "자바 다음버젼이 나온다면 어떠한 점이 바꿀것인가요??"
고슬링 : "상속을 없앨 겁니다. ㅋㅋㅋㅋㅋ "
참가자 : "하하하하하핳 " (웃음)
고슬링 : "농담이지만 제가 이렇게 말한 이유가 있져... "
고슬링횽아는 과도한 상속과
의도없이 상속을 남발하는 경우를 매우 싫어했는데
이를 해결하기 위해 인터페이스를 두는 방법이나
Has a 관계로 객체간 관계를 묶어내는 훌륭한 방식이 있는데도
왜케 상속을 고집해 빠졌는지 존나 짜증냄
ㅇㅇ
상속은 자제되어야 함
굉장히 치밀한 설계와 요구사항 분석결과를 가지고
공통적 특성을 묶어 Generalization 되어야 하고
다른 관계로 재표현할수 없을까 고민하는 습관이 좋은듯
그런 이유 때문에 애초부터 java는 single inheritance를 추구하고 있죠. 하지만 C++은 그 정 반대인데 gosling 과 stroustrup 의 생각 / 그들이 추구하는 OO중 무었이 맞는걸까요
존나게 개 공감함... A는 B이다, A는 B를 가지고 있다 의 이, 두가지만 고려해서 설계해도 상속이 남발되지 않을것임.
C++ 은 딱히 인터페이스를 따로 두지 않으니까 (비주얼c++은 struct로 치환하더라거)
프레임워크를 구축하는데는 상속이 필요하고, 리프노드의 응용에는 상속은 허세일 수도 있음. 물논, 허세가 간지는 남.