클래스 체계
클래스 정의 표준 자바 관례
- static public 상수
- static private 변수
- private instance 변수
- public 함수
- private 함수 → 자신을 호풀하는 공개함수 직후에 넣는다
추상화 단계가 순차적으로 내려간다. 따라서 프로그램은 신문기사처럼 읽힌다.
캡슐화
- 변수와 유틸리티 함수는 가능한 공개하지 않는 편이 낫다. 하지만 반드시 숨겨야한다는 법칙도 없다.
- 때로는 변수나 유틸리티 함수를 protected로 선언해 테스트 코드에 접근을 허용하기도 한다.
- 비공개 상태를 유지할 온갖 방법을 강구한다.
- 캡슐화를 풀어주는 결정은 언제나 최후의 수단.
클래스는 작아야한다!
클래스를 만들 때 첫 번째 규칙은 크기, 클래스는 작아야 한다.
- 함수와 마찬가지로 '작게'가 기본 규칙
- 함수는 물리적인 행 수로 크기를 측정했다면,
클래스는 맡은 책임을 센다.