클래스
클래스
“이 데이터들을 함께 사용하는데, 관려된 로직이 이것이다” 라고 이야기하고 싶을 때 클래스를 사용하자.
단순한 상위 클래스 이름
클래스 계층의 최상위 클래스 이름은 단순하게 이름 짓자.
한정적 하위 클래스 이름
상위 클래스와의 유사점과 차이점을 분명히 드러내도록 이름 짓자.
추상 인터페이스
인터페이스와 구현을 분리하자.
여기서 인터페이스란, “구현이 빠진 여러 연산의 집합” 이다.
자바에서는, 자바 인터페이스나 상위클래스를 이용할 수 있다.
소프트웨어는 유연해야 하지만, 유연성에는 비용이 들고 언제 어디에 유연성이 필요한지 예측하기 쉽지 않다.
그러므로, 실제 필요해지는 경우에만 시스템에 유연성을 부여하자.