[java] 해시 함수
해시 함수는 임의의 크기의 데이터를 받아서 고정된 크기의 데이터로 변환하는 함수입니다. 자바에서는 hashCode()
메서드를 사용하여 객체의 해시 코드를 반환할 수 있습니다. 이 메서드는 Object
클래스에서 상속받은 메서드이므로 모든 자바 객체에서 사용할 수 있습니다.
hashCode()
메서드 사용 예시
아래는 간단한 예시 코드입니다.
public class MyClass {
private int id;
private String name;
// 생성자 등 생략
@Override
public int hashCode() {
int result = 17;
result = 31 * result + id;
result = 31 * result + (name != null ? name.hashCode() : 0);
return result;
}
}
위의 예시에서 hashCode()
메서드는 객체의 id
와 name
을 이용하여 고유한 해시 코드를 생성합니다.
해시 함수는 객체의 동일성 여부를 검사하거나 해시 테이블과 같은 자료구조를 이용할 때 유용합니다.
참고 자료
- Java API 문서
- Effective Java, 3rd Edition by Joshua Bloch