Community

개발자 99% 커뮤니티에서 수다 떨어요!

← Go back
TIL 10장. 클래스
#clean_code
2년 전
548

오늘 TIL 3줄 요약

  • 클래스도 함수처럼 작게 만들어라.

  • 응집도, 결합도를 잘 유지해야 한다.

TIL (Today I Learned) 날짜

2022.03.09

오늘 읽은 범위

10장. 클래스

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

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

  • (p. 172) 클래스도 함수와 마찬가지로 “작게”가 기본 규칙이다.

  • (p. 173) 단일 책임 원칙(Single Responsibility Principle - SRP)

    • (p. 173) 클래스나 모듈을 변경할 이유가 하나, 단 하나뿐이어야 한다.

    • (p. 177) 작은 클래스는 각자 맡은 책임이 하나며, 변경할 이유가 하나며, 다른 작은 클래스와 협력해 시스템에 필요한 동작을 수행한다.

  • (p. 177) 응집도(Cohesion)를 적절히 유지해야 한다.

    • 응집도가 너무 높으면 클래스를 쪼개야 한다.

    • 응집도가 낮아져 응집력을 잃으면 클래스를 쪼개야 한다.

  • (p. 188) 새 기능을 수정하거나 기존 기능을 변경할 때 건드릴 코드가 최소인 시스템 구조가 바람직히다. 이상적인 시스템이라면 새 기능을 추가할 때 시스템을 확장할 뿐 기존 코드를 변경하지는 않는다.

  • (p. 189) 요구사항은 변하기 마련이다. 따라서 코드도 변하기 마련이다.

  • (p. 190) 시스템의 결합도를 낮추면 유연성과 재사용성도 더욱 높아진다. 결합도가 낮다는 소리는 각 시스템 요소가 다른 요소로부터 그리고 변경으로부터 잘 격리되어 있다는 의미다.

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

객체만 나오면 어찌할 바를 모르겠다. 객체지향은 보면 볼 수록 어렵다는 것 밖에 드는 생각이 없다. 그래도 몇 차례 읽다 보면 언제나 처럼 돌이 깨 지겠지...그래서 계속 읽는다.

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

  • OCP(Open-Closed Principle) - 클래스는 확장에 개방적이고 수정에 폐쇄적이어야 한다.

  • DIP(Dependency Inversion Principle) - 클래스가 상세한 구현이 아니라 추상화에 의존해야 한다.

오늘 읽은 다른사람의 TIL