더북(TheBook)

3.3 불완전한 추상화

추상화가 상호 보완적이거나 상호 연관된 메서드를 완벽하게 지원하지 못할 때 이런 악취가 발생한다. 예를 들어, 추상화의 공개 인터페이스는 자원을 할당하려고 initialize()를 제공할지도 모른다. 하지만 삭제하거나 회수하기에 앞서(가비지 컬렉션을 지원하는 언어에서) 자원을 정리할 dispose() 메서드가 추상화에 빠져 있을 수도 있다. 이때 추상화가 불완전한 추상화 악취로 고통받는 이유는 상호 보완적이거나 상호 연관된 메서드를 공개 인터페이스에 완벽하게 제공하지 않기 때문이다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.