Notice
Recent Posts
Recent Comments
Link
SeouliteLab
[Java/자바] hashCode() 메서드와 사용 이유 본문
hashCode() 메서드란?
Java에서 모든 객체는 Object 클래스로부터 상속받는 hashCode() 메서드를 가지고 있습니다. 이 메서드는 객체의 해시 코드를 반환합니다. 해시 코드는 객체의 고유한 정수 식별자로 사용됩니다.
hashCode() 메서드의 사용 이유
hashCode() 메서드는 다음과 같은 목적으로 사용됩니다:
- 해시 기반 컬렉션에서 객체를 저장하고 검색하는 데 사용됩니다. 예를 들어, HashSet, HashMap 및 Hashtable과 같은 컬렉션 클래스에서 객체를 빠르게 검색할 수 있습니다.
- 객체의 동등성을 비교하는 데 사용됩니다. 객체의 equals() 메서드를 구현할 때 hashCode() 메서드도 함께 재정의하여 동일한 객체에 대해 동일한 해시 코드를 반환하도록 해야 합니다.
- 객체를 해싱된 데이터 구조에 저장할 때 충돌을 최소화합니다. 서로 다른 객체가 같은 해시 코드를 반환할 수 있지만, hashCode() 메서드가 잘 구현되어 있다면 충돌 가능성을 최소화할 수 있습니다.
hashCode() 메서드의 예제
아래 예제는 hashCode() 메서드를 사용하여 해시 코드를 생성하는 방법을 보여줍니다.
public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public int hashCode() {
int result = name.hashCode();
result = 31 * result + age;
return result;
}
public static void main(String[] args) {
Person person1 = new Person("Alice", 30);
Person person2 = new Person("Bob", 25);
System.out.println("HashCode for person1: " + person1.hashCode());
System.out.println("HashCode for person2: " + person2.hashCode());
}
}
'프로그래밍' 카테고리의 다른 글
[Java/자바] Stream.reduce() 메서드 사용 방법과 예제 (0) | 2024.03.09 |
---|---|
[Java/자바] hashCode() 메서드 구현 방법 (0) | 2024.03.09 |
[Java/자바] 문자열의 첫 글자를 대문자로 변환하는 방법 (0) | 2024.03.09 |
[Java/자바] List 인터페이스: 데이터 구조 다루기 (0) | 2024.03.09 |
[Java/자바] ArrayList로 데이터 관리하기 (0) | 2024.03.09 |