Clean Code 책 요약. 챕터 10 : 클래스

작성 : 2021-04-17수정 : 2021-04-17

목차 펼치기

 출처 : yes24

출처 : yes24


클래스

  1. 변수 목록

    1. 상수

    2. 정적 비공개 변수

    3. 비공개 인스턴스 변수

  2. 공개 함수

  3. 비공개 함수

  • 캡슐화를 풀어주는 결정은 언제나 최후의 수단이다.


클래스는 작아야 한다

  • 클래스 이름은 해당 클래스 책임을 기술해야 한다.

  • 간결한 이름이 떠오르지 않는다면 클래스가 너무 커서 그럴 확률이 높다.


단일 책임 원칙 (SRP : Single Responsibility Principle)

  • 클래스나 모듈을 변경할 이유가 단 하나뿐이어야 한다는 원칙이다.

  • 하지만 '돌아가는 소프트웨어'에 초점을 맞추기 때문에 무시되기 쉽다.

    • 프로그램이 돌아가면 일이 끝났다고 여기기 때문이다.

    • 복잡성을 다루려면 체계적인 정리가 필수다.

    • 자잘한 단일 책임 클래스가 많아지면 큰 그림을 이해하기 어렵다고 한다. 그러나 큰 서랍에 던져두는 것과 작은 서랍으로 분리하는 것 중 무엇이 더 나은가?

  • 작은 클래스는

    • 각자 맡은 책임이 하나고

    • 변경할 이유가 하나고

    • 다른 작은 클래스와 협력하여 기능을 수행한다.


응집도

  • 응집도가 높다 = 클래스 내의 메소드와 변수가 서로 의존하며 논리적 단위로 묶인다.

  • 몇몇 메소드만 사용하는 변수가 많아진다는 것은, 클래스를 분리해야한다는 신호이다.

    • 클래스가 응집력을 잃는다면 쪼갠다.

  • 함수를 짧게, 변수를 적게.

결합도

  • 결합도를 낮으면 유연성과 재사용성이 높아진다.

  • 각 요소를 이해하기도 쉬워진다.


Contact Me

All Icons byiconiFy