깨끗한 코드를 작성하기 위한 열번째 기록 클래스 체계 클래스의 구성은 가장 먼저 변수 목록이 나오고, 정적 공개(static public) 상수, 그리고 정적 비공개(static private) 변수, 그리고 비공개 인스턴스가 나옵니다. 변수 목록 다음에는 공개 함수가 나온다. 비공개 함수는 자신을 호출하는 공개 함수 직후에 넣는다. 즉 추상화 단계가 순차적으로 내려간다. 캡슐화 변수와 유틸리티 함수는 가능한 공개하지 않는 편이 낫지만 반드시 숨겨야 한다는 법칙도 없다. 때로는 변수나 유틸리티 함수를 protected로 선언해 테스트 코드에 접근을 허용하기도 한다. 하지만 테스트 코드는 중요하기 때문에 같은 패키지 안에서 함수를 호출하거나 변수를 사용해야 한다면 비공개 상태를 유지할 방법을 찾아야 한다...