HashSet<E>의 중복확인 메커니즘에 대해서 책을 보고 배우는 중인데 각각 다른 클래스의 필드에 같은 값을 넣었어도 객체를 비교한다면 다른 hashCode값이 나오기 때문에 필드의 hashCode값을 비교하기 위해서 객체를 생성한 클래스에 hashCode메서드를 오버라이드 해줘야 한다고 적혀있었습니다. 해당 오버라이드 내용은
public int hashCode(){
return Objects.hash(data);
}였는데 이렇게 비교를 할거 였으면 처음부터 hashCode메서드를 써서 비교할게 아니라 hash메서드를 써서 비교하는게 더 짧고 좋지 않았을까 하는 의문이 들었습니다. 왜 그런걸까요?