🔖 오늘 읽은 범위 : 10장 - 클래스
😃 책에서 기억하고 싶은 내용을 써보세요.
클래스 체계
클래스는 작아야 한다
클래스를 만들 때 첫 번째 규칙은 크기다. 그렇다면 얼마나 작아야 하는가? 클래스가 맡은 책임을 센다.
- 클래스 이름은 해당 클래스 책임을 기술해야 한다. 실제로 작명은 클래스 크기를 줄이는 첫 번째 관문이다.
- 클래스명은 25단어 내외로 가능해야 한다.
단일 책임 원칙 (SRP)
- 클래스나 모듈을 변경할 이유가 하나, 단 하나뿐이어야 한다.
- SRP 는 책임이라는 개념을 정의하며 적절한 클래스 크기를 제시한다.
- 클래스는 책임, 즉 변경할 이유가 하나여야 한다는 의미다.
- 큰 클래스 몇 개가 아니라 작은 클래스 여럿으로 이뤄진 시스템이 더 바람직하다. 작은 클래스는 각자 맡은 책임이 하나며, 변경할 이유가 하나며, 다른 작은 클래스와 협력해 시스템에 필요한 동작을 수행한다.
책임
, 즉 변경할 이유를 파악하려 애쓰다 보면 코드를 추상화하기도 쉬워진다.
응집도
- 클래스는 인스턴스 변수 수가 작아야 한다. 각 클래스 메서드는 클래스 인스턴스 변수를 하나 이상 사용해야 한다.
- 일반적으로 메서드가 변수를 많이 사용할수록 메서드와 클래스는 응집도는 더 높다.
- 응집도가 높아질수록 변수와 메서드를 적절히 분리해 새로운 클래스 두세 개로 쪼갠다.
변경하기 쉬운 클래스
- 새 기능을 수정하거나 기존 기능을 변경할 때 건드릴 코드가 최소인 시스템 구조가 바람직하다.
- 이상적인 시스템이라면 새 기능을 추가할 때 시스템을 확장할 뿐 기존 코드를 변경하지는 않는다.
- OCP 란 클래스는 확장에 개방적이고 수정에 폐쇠적이어야 한다는 원칙이다.
변경으로부터 격리