이펙티브자바
-
[Java] equals 와 hashCode 재정의 시 주의사항카테고리 없음 2019. 5. 10. 23:46
equals는 일반 규약을 지켜 재정의하라 Object클래스의 final이 아닌 메서드(equals, hashCode, toString, clone, finalize)는 모두 재정의(overriding)을 염두에 두고 설계 equals를 적절하게 재정의하는 것은 매우 주의가 필요 equals를 재정의하지 않은 경우 클래스의 인스턴스는 오직 자기 자신과만 같음 equals를 재정의하려거든 hashCode도 재정의하라 논리적으로 같은 객체는 같은 hashCode를 반환 equals에 의해 같음에 대한 정의가 바뀐 경우 hashCode도 재정의 필요 출처 : 이펙티브 자바 3/E