📅 TIL (Today I Learned): 2024.02.12
📋 오늘 읽은 범위: 10. 클래스
😎 책에서 기억하고 싶은 내용을 써보세요.
클래스를 정의하는 표준 자바 관례
1. 변수 목록
- 정적 공개 상수 (public static)
- 정적 비공개 (private static)
- 비공개 인스턴스 변수
2. 공개 함수
3. 비공개 함수는 자신을 호출하는 공개 함수 직후에
얼마나 작아야 하는가? 클래스가 맡은 책임을 센다.
클래스나 모듈을 변경할 이유가 하나, 단 하나 뿐이어야 한다.
많은 개발자는 자잘한 단일 책임 클래스가 많아지면 큰 그림을 이해하기 어려워진다고 우려한다.
그러나 어느 시스템이든 익힐 내용은 그 양이 비슷하다.
-> 큰 클래스 몇 개가 아니라 작은 클래스 여럿으로 이뤄진 시스템이 더 바람직하다.
일반적으로 메서드가 변수를 더 많이 사용할수록 메서드와 클래스는 응집도가 더 높다.
응집도가 높다는 말은 클래스에 속한 메서드와 변수가 서로 의존하며 논리적인 단위로 묶인다는 의미다.
때때로 몇몇 메서드만이 사용하는 인스턴스 변수가 아주 많아진다. -> 클래스로 쪼개야 한다는 신호
이상적인 시스템이라면 새 기능을 추가할 때 시스템을 확장할 뿐 기존 코드를 변경하지는 않는다.
시스템의 결합도를 낮추면 유연셩과 재사용성도 더욱 높아진다.
결합도가 낮다는 소리는 각 시스템 요소가 다른 요소로부터 그리고 변경으로부터 잘 격리되어 있다는 의미이다.
🥺 오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요.
중간에 복잡한 코드를 리팩토링 하는 부분이 있었는데,
내가 그걸 과연 소화할 수 있을지 겁이 났다.
🤔 궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.
없음! 이 쯤 되면 공부 방법이 잘못된 게 아닌가 생각 중...