728x90 반응형 hashCode1 [EffectiveJava] Item11 equals를 제정의하려거든 hashCode도 재정의하라 :) equals를 재정의한 클래스 모두 hashCode도 재정의해야한다 위에 적어놓은 소제목 처럼 hashCode를 재정의하지 않는다면 일반 규약을 어기게 되어 HashMap이나 HashSet같은 Collection에서의 원소로 사용될 때 문제를 일으키게 된다. Object 명세 규약 equals에 사용되는 핵심 필드가 변경되지 않았다면 , 실행되는 동안 hashCode메서드는 몇번을 호출해도 항상 같은 hashCode값을 반환햐야한다. equals가 두 객체를 같다고 판단하였다면 두 객체가 가지고있는 hashCode는 같은 값을 반환해야 한다. equals가 두 객체를 다르다고 했더라도, 두 객체의 hashCode가 서로 다른 값을 반환해야할 필요는 없다. 단, 다른 객체에 대해서는 다른 값을 반환해.. 2020. 12. 21. 이전 1 다음 728x90 반응형