[til] 10장. 클래스
![[til] 10장. 클래스](https://cdn.hashnode.com/res/hashnode/image/upload/v1710333848984/5e96a57a-04e2-4192-9162-cad9167b61b5.png)
TIL (Today I Learned) 날짜
2024년 2월 11일
오늘 읽은 범위
10장. 클래스
책에서 기억하고 싶은 내용
클래스는 작아야 한다!
- 단일 책임 원칙 : 클래스나 모듈을 변경할 이유가 단 하나뿐이어야 한다는 원칙
- 큰 클래스 몇 개보다 작은 클래스 여럿으로 이뤄진 시스템이 더 바람직하다.
- 작은 클래스는 각자 맡은 책임과 변경할 이유가 하나며, 다른 작은 클래스와 협력해 시스템에 필요한 동작을 수행한다.
- 응집도를 유지하면 작은 클래스 여럿이 나온다.
- 큰 함수를 작은 함수 여럿으로 나누기만 해도 클래스 수가 많아진다.
- 작은 클래스 여럿으로 쪼개면 프로그램에 점점 더 체계가 잡히고 구조가 투명해진다.
변경하기 쉬운 클래스
새 기능을 수정하거나 기존 기능을 변경할 때 건드릴 코드가 최소인 시스템 구조가 바람직하며, 이상적인 시스템이라면 새 기능을 추가할 때 시스템을 확장할 뿐 기존 코드를 변경하지는 않는다.
- 변경으로부터 격리 :
요구사항은 변하기 마련이다. 따라서 코드도 변하기 마련이다. 상세한 구현에 의존하는 클라이언트 클래스는 구현이 바뀌면 위험에 빠지기 때문에 인터페이스와 푸상 클래스를 사용해 구현이 미치는 영향을 격리해야 한다.
오늘 읽은 소감
객체지향 프로그래밍의 핵심 원칙을 강조하는 "클래스" 장을 읽으면서, 단일 책임 원칙과 작은 클래스의 중요성, 그리고 변경에 유연하게 대응하는 클래스 설계의 필요성을 배울 수 있었다.
이러한 원칙들을 적용하면 프로그램의 구조를 더욱 명확하고 관리하기 쉽게 만들 수 있으며, 요구사항의 변화에 더욱 효과적으로 대응할 수 있다는 것을 느꼈다.

