여러분은 이 그림에서 필자가 왜 ClientInterface라는 이름을 지었는지 의아해 할 수 있을 것이다. 대신 AbstractSever라는 이름을 왜 쓰지 않았을까? 그 이유는, 우리가 앞으로 보게 되는 것처럼, 추상 클래스란 자신을 구현하는 클래스보다도, 클라이언트에 더 밀접하게 관련되어 있기 때문이다.

<소프트웨어 개발의 지혜> 120쪽에서