읽은 범위: ~10장
클래스 이름은 해당 클래스 책임을 기술해야 하는데 작명이 클래스 크기를 줄이는 데 중요하다. 간결한 이름이 떠오르지 않으면 클래스 크기가 너무 크진 않는지 생각해 봐야 한다.
또한, 클래스의 인스턴스 변수 수는 작아야 한다.
메서드가 인스턴스 변수를 더 많이 사용할수록 메서드와 클래스의 응집도가 높아지는데 응집도가 높아지도록 새로운 클래스로 분리된다.
(즉, 함수를 작게하고 매개변수 목록을 짧게 하면 일부 메서드만 사용하는 인스턴스 변수가 많아진다는 이야기.)
상세한 구현에 의존하는 클라이언트 클래스는 구현이 바뀌면 위험하다.
인터페이스와 추상 클래스를 사용해 격리해야 한다.
=> 추상화하는 습관을 만들자.