본문 바로가기
독서

[클린코드] 10장 클래스

by ma_ro 2022. 3. 10.

책에서 기억하고 싶은 내용을 써보세요.

  • 클래스 체계에서 추상화 단계는 순차적으로 내려간다.
  • 캡슐화를 풀어주는 결정은 언제나 최후의 수단이다.
  • 클래스는 작아야한다.
    • 함수가 물리적인 행 수 크기를 측정했다면 클래스는 클래스가 맡은 책임을 센다.
    • 클래스 이름은 해당 클래스 책임을 기술해야 한다.
    • 단일 책임 원칙(Single Responsibility Principle). 클래스나 모듈을 변경할 이유는 하나뿐이어야 한다.
  • 응집도를 높인다.
    • 클래스에 속한 메서드와 변수가 서로 의존하며 논리적인 단위로 묶일 수록 응집도가 높아진다.
    • 큰 함수를 작은 함수 여럿으로 쪼개면서 작은 클래스 여럿으로 쪼개며 응집도를 높인다.
  • 클래스는 확장에 개방적이고 수정에 폐쇄적이어야 한다.
    • OCP(Open Closed Principle)
  • 변경으로부터 격리시킨다.
    • 각 시스템 요소를 다른 요소로부터 그리고 변경으로부터 잘 격리시킨다. (결합도가 낮다.)
    • 클래스는 상세한 구현이 아니라 추상회에 의존해야 한다. DIP(Dependency Inversion Principle)

오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요.

클래스에서 사용하는 인터페이스나 추상화를 어떻게 사용해야하는지, 또 왜 사용하는지 궁금할 떄가 많았다. 실제로 내가 근무하는 회사에서는 인터페이스나 추상화를 제대로 쓰지 않아서 제대로 알 기회가 없었다. 이번 장을 통해서 인터페이스나 추상화를 사용하는 법. 그리고 이를 통해 좀 더 제대로 된 객체지향 프로그래밍을 알 수 있었다.

궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.

@Before, @Test 어노테에션

'독서' 카테고리의 다른 글

[클린코드] 6장 객체와 자료구조  (0) 2022.03.02
[클린코드] 5장 형식 맞추기  (0) 2022.02.28
[클린코드] 4장 주석  (0) 2022.02.26
[클린코드] 3장 함수  (0) 2022.02.24
[클린코드] 2장 의미있는 이름  (0) 2022.02.20

댓글