더북(TheBook)

예제 3

org.eclipse.jdt.internal.compiler.parser 패키지의 Scanner 클래스는 org.eclipse.jdt.core.compiler 패키지의 PublicScanner 클래스와 거의 중복된다. 두 클래스 사이에 있는 코드는 대략 3500행 정도가 중복된다. JavaDoc에서는 Scanner 클래스를 이렇게 설명한다.

“내부적인 스캐너 구현. API로 존재하는 org.eclipse.jdt.core.compiler public 패키지를 반영한다.”

 

두 클래스는 구현뿐만 아니라 동일한 공개 메서드 서식도 공유하므로 중복된 추상화의 ‘동일한 구현’ 형태로 고통받는다.

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