핵심 정리: equals를 재정의 하지 않는 것이 최선

다음의 경우에 해당한다면 equals를 재정의 할 필요가 없다.

각 인스턴스가 본질적으로 고유하다.

인스턴스의 ‘논리적 동치성’을 검사할 필요가 없다.

상위 클래스에서 재정의한 equals가 하위 클래스에도 적절하다.

클래스가 private이거나 package-private이고 equals 메서드를 호출할 일이 없다

핵심 정리: equals 규약

핵심 정리: equals 구현 방법