더북(TheBook)

코드 2-2는 모든 등가 연산자 예제를 위해 필요한 모든 요소를 갖춘 PostId 클래스를 보여준다. 여기서 ToString()을 오버라이드하여 클래스가 문자열 형식과 호환되고, 디버깅하는 동안 값을 검사하기가 더 수월해진다. GetHashCode()를 재정의하여 값 자체가 int에 완벽하게 맞을 수 있으므로 Value를 직접 반환한다. Equals() 메서드를 오버라이드하여 고유한 값이 필요하거나 이 값을 검색할 경우 클래스의 컬렉션에서 동등성 검사가 제대로 동작하도록 한다. 마지막으로 ==!= 연산자를 재정의하여 해당 값에 접근하지 않고도 PostId 값과 직접 비교할 수 있게 한다.

Note ≣

단지 값을 나타내기 위한 불변 클래스를 이 거리에서는 값 타입이라고 한다. 책에 나올 만한 이러한 용어를 아는 것도 좋지만, 용어에만 집중하기보다는 이들의 효용성에 집중하라.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.