개발자 99% 커뮤니티에서 수다 떨어요!
오늘 TIL 3줄 요약
클래스는 작아야 한다
응집도를 유지하면 작은 클래스 여럿이 나온다
변경으로부터 격리하라
TIL (Today I Learned) 날짜
2022. 03. 10
오늘 읽은 범위
10장. 클래스
책에서 기억하고 싶은 내용을 써보세요.
클래스를 정의하는 표준 자바 관례에 따르면, 가장 먼저 변수 목록이 나온다. 정적static 공개public 상수가 있다면 맨 처음에 나온다. 다음으로 정적 비공개private 변수가 나오며, 이어서 비공개 인스턴스 변수가 나온다. 공개 변수가 필요한 경우는 거의 없다. 변수 목록 다음에는 공개 함수가 나온다. 비공개 함수는 자신을 호출하는 공개 함수 직후에 넣는다. 즉, 추상화 단계가 순차적으로 내려간다. 그래서 프로그램은 신문 기사처럼 읽힌다. (p.172)
변수와 유틸리티 함수는 가능한 공개하지 않는 편이 낫지만 반드시 숨겨야 한다는 법칙도 없다. (중략) 캡슐화를 풀어주는 결정은 어제나 최후의 수단이다. (p.172)
클래스를 만들 때 첫 번째 규칙은 크기다. 클래스는 작아야 한다. 두 번째 규칙도 크기다. 더 작아야 한다. (p.172)
함수는 물리적인 행 수로 크기를 측정했다. 클래스는 다른 척도를 사용한다. 클래스가 맡은 책을 센다. (p.173)
클래스 이름은 해당 클래스 책임을 기술해야 한다. 실제로 작명은 클래스 크기를 줄이는 첫 번째 관문이다. (p.175)
클래스는 인스턴스 변수 수가 작아야 한다. (p.177)
응집도가 높아질수록 변수와 메서드를 적절히 분리해 새로운 클래스 두세 개로 쪼개준다. (p.178)
클래스가 응집력을 잃는다면 쪼개라!
오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요
클래스를 작성할 때에도 주의해야할 것이 있다는 걸 알았다. 심지어 이름 작성조차 정성을 들여야 한다는 것을!
클래스를 작성할 때는 최대한 작게 만들어야함을 알게 되었다. 정보처리기사를 준비할 때 나오는 응집도와 결합도가 오늘 이해가 되는 순간이었다.
오늘 읽은 다른사람의 TIL
staticvoidmain님의 TIL (https://nomadcoders.co/community/thread/3484)