Object 메서드의 계약 예제가 실행되는 순서
참조 동일성 빠른 확인에서 시작해 같은 필드로 hashCode 생성까지 값과 책임이 이동한다.
-
1
참조 동일성 빠른 확인
Object 구현은 사실상 ==와 같은 객체인지 비교합니다.
-
2
구성 값으로 equals 비교
equals가 true인 두 객체의 hashCode는 반드시 같아야 합니다.
-
3
같은 필드로 hashCode 생성
키를 넣은 뒤 equals와 hashCode에 쓰는 필드를 바꾸면 원래 버킷에서 찾지 못할 수 있습니다.
실행 순서 동일한 code를 가진 두 객체가 같은 hashCode와 equals 결과를 제공해 Set에 하나만 남습니다.