|
내가 C++ 빠돌이고 C 에 대해서 어떠한 감정이 없다는 점이 이 책을 읽고 더 분명해졌다. 먼가 특별한게 있나? 하고 책을 집어 들었고.. C++ 를 써라. 라고 또 분명해졌다. 인터페이스관련해서 다른얘기를 해보겠다. 추상클래스 VS 인터페이스 IN JAVA 추상클래스 = 단독객체생성불가, 구현가능 인터페이스 = 단독객체생성불가, 구현불가 1.어떤 고정적인 흐름을 가진 템플릿이 있다고 확신한다.밑에 구현될놈들은 그 흐름을 사용할것이고 변화될 가능성이 희박하다. <-- 이러면 추상클래스를 써도 팀원들로부터 비판당하지 않겠고 2.어떤 고정적인 템플릿이 없다. 연결고리만 제공해서 유연성 강화. <--- 인터페이스 (대부분의 디자인패턴에 적용) 3.어떤 고정적인 템플릿이 있는데 ..클래스 내부에 고정시켜 놓기는 꺼림직하다. has-a 이다. <-- 이러면 인터페이스 + 템플릿인젝션 인터페이스가 추구하는 바를 추상클래스만으로 이루려면 지켜야 할 제약이 생기고 위험 또한 생기기 마련이다. 그래서 행위의 틀 과 immutable 한 속성만으로 제한해서 유연성을 극대화한것이 아시다시피 자바의 "interface" . 저 둘이 나뉘는 의도가 중요한데 "의도" 가 중요한데 그 의도 즉 나뉘어 지는 키 포인트가
"행위 템플릿" " 변경가능속성" |