hashCode()와 equals()를 같이 오버라이딩해야 하는 이유
·
Java
`hashCode()`와 `equals()`는 Object 클래스에 선언된 메서드며, 모든 객체가 사용할 수 있다.두 메서드는 같이 오버라이딩해야 하는 이유가 있다. 그 이유를 알아보자. 일단 `hashCode()`와 `equals()`부터 알아보자. JDK 21 기준 public class Object { @IntrinsicCandidate public native int hashCode(); public boolean equals(Object obj) { return (this == obj); }} hashCode()객체의 해시 값을 반환한다.메모리 주소와 무관한 난수 값을 사용해서 해시를 생성하는 해시 함수다. 해시가 뭘까? 해시 함수부터 알아보자. 해시 함수..