728x90
TIL (Today I Learned)
2022.03.10
오늘 읽은 범위
10장. 클래스
책에서 기억하고 싶은 내용을 써보세요.
- 클래스를 만들 때 첫 번째 규칙은 크기다. 클래스는 작아야 한다. 두 번째 규칙도 크기다. (p.172)
- 클래스 이름은 해당 클래스 책임을 기술해야 한다.
클래스 이름에 Processor, Manager, Super 등과 같이 모호한 단어가 있다면 클래스에다 여러 책임을 떠안겼다는 증거다. (p.175) - 단일 책임 원칙(Single Responsibility Principle, SRP)은 클래스나 모듈을 변경할 이유가 하나, 단 하나뿐이어야 한다는 원칙이다. (p.175)
- 응집도 : 클래스는 인스턴스 변수 수가 작아야 한다. 각 클래스 메서드는 클래스 인스턴스 변수를 하나 이상 사용해야 한다. (p.177)
- 대다수 시스템은 지속적인 변경이 가해진다. 그리고 뭔가 변경할 때마다 시스템이 의도대로 동작하지 않을 위험이 따른다. 깨끗한 시스템은 클래스를 체계적으로 정리해 변경에 수반하는 위험을 낮춘다. (p.185)
- OCP(Open-Closed Princible)란 클래스는 확장에 개방적이고 수정에 폐쇄적이어야 한다는 원칙이다. (p.188)
- 결합도가 낮다는 소리는 각 시스템 요소가 다른 요소로부터 그리고 변경으로부터 잘 격리되어 있다는 의미다. 시스템 요소가 서로 잘 격리되어 있으면 각 요소를 이해하기도 더 쉬워진다. (p.190)
- DIP(Dependency Inversion Principle)는 클래스가 상세한 구현이 아니라 추상화에 의존해야 한다는 원칙이다. (p.190)
오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요
- 자바, 객체지향을 잘 사용하지 않아 참 어려운 챕터였다. 객체지향을 잘 이해하고 다시 읽어야 할 것 같다.
궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.
- 정적(static) 공개(public) 상수가 있다면 맨 처음에 나온다. 다음으로 정벅 비공개(private) 변수가 나오며, 이어서 비공개 인스턴스 변수가 나온다. 공개 변수가 필요한 경우는 거의 없다.
변수 목록 다음에는 공개 함수가 나온다. 비공개 함수는 자신을 호출하는 공개 함수 직후에 넣는다. 즉, 추상화 단계가 순차적으로 내려간다. 그래서 프로그램은 신문 기사처럼 읽힌다. (p.172)
728x90
'단기 목표 뿌수기 > 클린코드' 카테고리의 다른 글
[노개북 - 15] 복습 (0) | 2022.03.11 |
---|---|
[노개북 - 13] 복습 (0) | 2022.03.07 |
[노개북 - 12] 8장. 경계 / 9장. 단위 테스트 (0) | 2022.03.06 |
[노개북 - 11] 7장. 오류처리 (0) | 2022.03.03 |
[노개북 - 10] 복습 (0) | 2022.03.02 |