정리 불변 클래스란 간단히 말해 그 인스턴스의 내부값을 수정할 수 없는 클래스다. String, 기분타입의 박싱된 클래스들, BigInteger, BigDecimal이 여기 속한다. 불변클래스는 갑녀클래스보다 설계하고 구현하고 사용하기 쉬우며, 오류가 생길 여지도 적고 안전한다. 규칙 - 객체의 상태를 변경하는 메서드(뼌경자)를 제공하지 않는다. - 클래스를 확장할 수 없도록 한다. - 모든 필드를 final로 선언한다. - 모든 필드를 private으로 선언한다. - 자신 외에는 내부의 가변컴포넌트에 접근할 수 없도록 한다. 불변 객체는 근본적으로 스레드 안전하여 따로 동기화할 필요 없다. 불변 객체는 안심하고 공유할 수 있다. 불변 객체는 자유롭게 공유할 수 있음은 물론, 불변 객체끼리는 내부 데이터..