[클린코드] 10장. 클래스

June·2021년 12월 1일
0

[클린코드]

목록 보기
9/15

클래스 체계

클래스를 정의하는 표준 자바 관례에 따르면, 가장 먼저 변수 목록이 나온다. 정적 공개 상수가 있다면 맨 처음에 나온다. 다음으로 정적 비공개 변수가 나오며, 이어서 비공개 인스턴스 변수가 나온다. 공개 변수가 필요한 경우는 거의 없다.

변수 목록 다음에는 공개 함수가 나온다. 비공개 함수는 자신을 호출하는 공개 함수 직후에 넣는다.

클래스 이름이 모호하다면 클래스 책임이 너무 많아서다. 예를 들어, 클래스 이름에 Processor, Manager, Super 등과 같이 모호한 단어가 있다면 클래스데아 여러 책임을 떠안겼다는 증거다.

단일 책임 원칙

단일 책임 원칙은 클래스나 모듈을 변경할 이유가 하나뿐이어야 한다는 원칙이다.

응집도

클래스는 인스턴스 변수 수가 작아야 한다. 각 클래스 메서드는 클래스 인스턴스 변수를 하나 이상 사용해야 한다. 일반적으로 메서드가 변수를 더 많이 사용할수록 메서드와 클래스는 응집도가 더 높다. 우리는 응집도가 높은 클래스를 선호한다.

때로는 몇몇 메서드만이 사용하는 인스턴스 변수가 아주 많아진다. 이는 십중팔구 새로운 클래스로 쪼개야 한다는 신호다.

변경으로부터 격리

DIP (Dependency Inversion Principle). 상세한 구현이 아니라 추상화에 의존해야 한다는 원칙.

0개의 댓글