두 객체가 같으면 반드시 같은 hashcode
두 객체가 같으면 equals( ) 호출했을 때 true 반환
=> 객체 a, b 가 같다면 => a.equals(b)와 b.equals(a) 모두 true 여야 함
두 객체의 hashcode 가 같다고 두 객체가 반드시 같은 객체는 아님
equals( ) 메서드 override 하면 반드시 hashCode( ) 메서드도 override
hashCode( )는 기본적으로 Heap 에 있는 각 객체에 대한 메모리 주소 매핑 정보를 기반으로 한 정수값을 반환.
=> hashCode( )를 override 하지 않으면 절대로 두 객체가 같은 것으로 간주할 수 없음