클래스 체계

변수 목록 → 공개 함수 → 비공개 함수
추상화 단계가 순차적으로 내려간다.
그래서 신문 기사 처럼 읽힌다.

클래스는 작아야 한다.

클래스가 맡은 책임을 기준으로 작게 만들어야 한다.
간결한 이름이 떠오르지 않는다면 필경 클래스 크기가 너무 커서 그렇다.
모호한 단어가 있다면 클래스에 여러 책임을 떠안겼다는 증거다.

단일 책임 원칙
클래스나 모듈을 변경할 이유가 하나뿐이어야 한다는 원칙이다.
SRP는 객체 지향 설계에서 더욱 중요한 개념이다.
복잡성을 다루려면 체계적인 정리가 필수다.

큰 클래스 몇개가 아니라 작은 클래스 여럿으로 이뤄진 시스템이 더 바람직하다.
작은 클래스는 각자 맡은 책임이 하나며, 변경할 이유가 하나며, 다른 작은 클래스와 협력해 시스템에 필요한 동작을 수행한다.

응집도
응집도가 높다는 말은 클래스에 속한 메서드와 변수가 의존하며 논리적인 단위로 묶인다는 의미다.
응집도를 유지하면 작은 클래스 여럿이 나온다.
클래스가 응집력을 잃는다면 쪼개라.
프로그램에 점점 더 체계가 잡히고 구조가 투명해진다.

profile
Front-End Developer

0개의 댓글