개인적 감상평


10장까지 오며 계속 저자가 강조하던 내용들이 클래스부분으로 확장되었다.

지금까지는 코드와 메소드 단위로 깨끗한 코드를 작성하는 법에 대해 말했다면, 10장에서는 좀 더 범위를 확대하여 클래스를 깨끗하게 작성하는 법에 대해 말한다.

객체지향설계를 지향하며 개발을 하고 있는 내 입장에서는 정말 중요한 파트이기도 하고, 계속 노력해야할 부분이라고 생각한다.

이에 대해 조영호의 Object객체지향의 사실과 오해(일명 토끼책) 에서도 책임주도설계라 하여 설명을 하는데, 컴팩트한 클래스의 중요성은 아무리 강조해도 부족하지 않다.

클래스가 컴팩트함에서 벗어나 중량감을 가질수록 유지보수에 취약해지고 변경시 건드려야 하는 빈도수가 높아진다. 빈도수가 높아진다는 말은 문제가 생길 확률이 올라간다는 것이다.

챕터를 읽고 정리하는데서 끝내지 말고 당장 눈앞에 보이는 무엇이든 객체로 설계해보고 분리해보는 연습이 필요하다.

1. 클래스 체계

  1. 정적 공개 상수
  2. 정적 비공개 변수
  3. 비공개 인스턴스 변수
  4. 공개 함수
    1. 비공개 함수
class A {
	public static final PUBLIC_CONSTANT_VALUE = "public value";
	private static final PRIVATE_CONSTANT_VALUE = "private value";
	private final instanceValue = "instance value";

	public void publicMethod(){
		privateMethod();
	}
	private void privateMethod(){
		...
	}
}

캡슐화