equals
가 true
를 반환해야 함), 이들 객체는 같은 해시코드도 반환해야 한다.HashMap
, HashSet
같은 해시 기반 컬렉션에서는 객체의 해시코드를 사용하여 내부적으로 데이터를 저장하고 검색한다. 이 때문에 equals
와 hashCode
가 일관되게 구현되어야 한다.hashCode
메서드는 다음과 같은 규약을 지켜야 한다.
x.equals(y)
가 true
일 경우, x.hashCode()
와 y.hashCode()
도 같아야 한다.