클래스
캡슐화
- 같은 패키지 안에서 테스트 코드가 함수를 호출하거나 변수를 사용해야 한다면, 함수, 변수를 protected로 선언하거나 패키지 전체로 공개한다.
클래스는 작아야한다.
- 클래스는 얼마나 작아야하는가?
- SRP(Single Responsibility Principle)원칙에 따를만큼 작아야한다.
SRP란 단일책임원칙이라 하며, `하나의 클래스는 하나의 기능 담당하여 하나의 책임을 수행하는데 집중되어야 있어야 한다`는 원칙
- SRP(Single Responsibility Principle)원칙에 따를만큼 작아야한다.
- 시스템은 개발기간이 늘어날수록 논리가 많아지고, 복잡성이 증가한다.
- 복잡한 시스템을 다루려면, 체계적으로 정리가 돼야한다.
- 만능클래스 한개보다, 작은클래스(SRP원칙에 따른 클래스) 여러개로 이뤄진 시스템이 바람직하다.
응집도
- 응집도가 높다: 클래스에 속한 메서드와 변수가 서로 의존관계에 있다.
- 클래스가 응집력을 잃으면 쪼개라.
변경하기 쉬운 클래스
- 이상적인 시스템은 새 기능을 추가할 때, 기존 코드를 변경하지 않는다.
변경으로부터 격리
- 결합도가 낮다: 각 시스템 요소가 다른 요소로부터, 변경으로부터 잘 격리되어 있다는 의미
- 결합도를 낮추면 유연성과 재사용성이 높아진다.
- 결합도가 낮아지면, DIP 원칙에 부합하는 클래스가 생긴다.
DIP란 의존성역전원칙이라 하며, `어떤 Class를 참조해서 사용해야하는 상황이 생긴다면, 그 Class를 직접 참조하는 것이 아니라 그 대상의 상위 요소(추상 클래스 or 인터페이스)로 참조하라`는 원칙
'프로그래밍' 카테고리의 다른 글
[클린코드] 10,11장 정리 (0) | 2023.11.01 |
---|---|
[클린코드] 11장 시스템 (0) | 2023.10.29 |
[클린코드] 6,7장 정리 (1) | 2023.10.18 |
[클린코드] 7장 오류 처리 (0) | 2023.10.15 |
[클린코드] 6장 객체와 자료구조 (0) | 2023.10.15 |