개발자를 희망하는 초보의 자기개발 이야기

클린코드 Assignment #13 : 클래스 본문

도서/클린코드(Clean Code)

클린코드 Assignment #13 : 클래스

클라우드아실 2024. 12. 17. 02:38
반응형

 

💡TIL (Today I Learned)

2024.12.16

📖 오늘 읽은 범위

10장. 클래스

✔ 책에서 기억하고 싶은 내용

  • 클래스는 작고 단순해야 하며, 단일 책임 원칙(SRP)을 따라야 한다.
  • 캡슐화를 통해 내부 구현을 숨기고, 필드에 직접 접근하지 않도록 한다.
  • 클래스는 확장에는 열려 있고, 변경에는 닫혀 있어야(OCP) 하며, 새로운 기능을 추가할 때 기존 코드를 수정하지 않도록 설계한다.
  • 의존성 역전 원칙(DIP)을 통해 인터페이스와 구현을 분리하고, 유연성을 확보한다.
  • 상속보다는 구성을 우선적으로 고려하여 복잡한 계층 구조를 피한다.

📝 오늘 읽은 소감은?

리액트로 함수형 프로그래밍을 주로 하다보니 클래스와는 좀 어색하다. 
함수 챕터와 일맥상통하는 부분이 있다는 것을 느끼면서 읽었다. 작고, 단순해야하며, 단일 책임 원칙을 따라야 한다는 점. 처음부터 일관되게 이야기하는 가독성과도 맞닿아 있다. 어렵지만 연차가 쌓일수록 이 책이 다른 느낌으로 다가온다고..(카더라) 추후에 클래스와 좀 더 친해지고 나서 읽으면 또 다른 느낌이려나 싶다.

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

  • 단일 책임 원칙(SRP): 클래스는 오직 하나의 책임만 가져야 하며, 변경할 이유도 하나만 있어야 한다.
  • 캡슐화: 클래스 내부 구현을 숨기고, 외부에는 상호작용하는 부분만 노출. 외부의 잘못된 사용을 방지한다.
  • OCP (개방-폐쇄 원칙): 클래스는 확장에는 열려 있고, 변경에는 닫혀 있어야 한다, 즉 기존 코드를 수정하지 않고도 새로운 기능을 추가할 수 있어야 한다.
  • DIP (의존성 역전 원칙): 고수준 모듈은 저수준 모듈에 의존하지 않고, 둘 다 추상화된 인터페이스에 의존해야 한다.
반응형