equals로 재정의한 클래스에서 hashCode를 재정의하지 않으면 hashCode 일반규약을 어기게 되어 해당 클래스의 인스턴스를 HashMap이나 HashSet같은 컬렉션의 원소로 사용할 때 문제를 일으키게 됨 → equals를 재정의하려거든 hashCode도 재정의해라

문제 상황

<aside> 🏷️

///// Object 명세의 규약 ////

equals(Object)가 두 객체를 같다고 판단했다면 두 객체의 hashCode는 같은 값을 반환해야 한다.

</aside>

논리적으로 같은 객체는 같은 해시코드를 반환해야 함

구현 방법

정리