더북(TheBook)

예제 3을 위한 리팩토링 제안

Scanner 예제에서 Scanner 클래스와 PublicScanner 클래스는 상당히 유사한 동일 구현으로 고통받는다. 상속을 사용하는 리팩토링 방식도 가능하지만 중복되는 비율이 중간 정도이며, 양쪽 추상화가 제법 다를 때만 적용 가능할 것이다. 하지만 중복 비율이 99.9%이므로 클래스 하나를 삭제하고, 삭제된 클래스의 클라이언트와 호환하도록 만드는 방식이 더 적절하다.

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