지금의 Dollar 객체같이 객체를 값 처럼 쓸 수 있는데, 이것을 **값 객체 패턴 (value object pattern)**이라고 한다.

값 객체에 대한 제약사항 중 하나는 객체의 인스턴스 변수가 생성자를 통해서 일단 설정된 후에는 결코 변하지 않는다는 것이다.

값 객체의 또 다른 장점 : 별칭 문제에 대해 걱정할 필요가 없다.

($5 수표가 영원히 $5임을 보장 받을 수 있다. 변경될 가능성이 없다.)

값 객체가 암시하는 것

  1. 값 객체가 암시하는 것 중 하나는 모든 연산은 새 객체를 반환해야 한다는 것이다.
  2. equals() 를 구현해야 한다는 것. → hashCode() 같이 구현해야 함.

[목록]

		@Test
    void testEquality() {
        assertThat(new Dollar(5)).isEqualTo(new Dollar(5));
    }