Java LocalDate hashCode 메서드

JavaBeginner
지금 연습하기

소개

hashCode() 메서드는 객체를 식별하는 데 사용할 수 있는 고유한 정수 값을 생성하기 위해 호출됩니다. Java 에서 hashCode() 메서드는 LocalDate 객체의 해시 코드를 얻는 데 사용됩니다.

main 메서드를 포함하는 Java 클래스 생성

다음 명령을 사용하여 ~/project 디렉토리에 HashCodeDemo.java라는 Java 클래스를 생성합니다.

cd ~/project
touch HashCodeDemo.java

LocalDate 클래스 import

HashCodeDemo.java 파일에 다음 코드를 추가하여 LocalDate 클래스를 임포트합니다.

import java.time.LocalDate;

LocalDate 객체의 해시 코드 구하기

of() 메서드를 사용하여 새로운 LocalDate 객체를 생성하고 연도, 월, 일을 설정합니다.

LocalDate date = LocalDate.of(2022, 1, 1);

이제 hashCode() 메서드를 사용하여 date 객체의 해시 코드를 찾습니다.

int hashCode = date.hashCode();

main() 메서드에 다음 코드를 추가합니다.

public static void main(String[] args) {
    LocalDate date = LocalDate.of(2022, 1, 1);
    int hashCode = date.hashCode();
    System.out.println("Date: " + date);
    System.out.println("HashCode: " + hashCode);
}

위 코드에서는 println() 메서드를 사용하여 date 객체와 해시 코드를 출력했습니다.

현재 날짜의 해시 코드 구하기

now() 메서드를 사용하여 현재 날짜를 가져오는 새로운 LocalDate 객체를 생성합니다.

LocalDate currentDate = LocalDate.now();

이제 hashCode() 메서드를 사용하여 현재 날짜 객체의 해시 코드를 찾습니다.

int hashCode = currentDate.hashCode();

main() 메서드에 다음 코드를 추가합니다.

public static void main(String[] args) {
    LocalDate currentDate = LocalDate.now();
    int hashCode = currentDate.hashCode();
    System.out.println("Current Date: " + currentDate);
    System.out.println("HashCode: " + hashCode);
}

위 코드에서는 현재 날짜 객체와 해당 해시 코드를 출력했습니다.

Java 코드 컴파일 및 실행

다음 명령을 사용하여 HashCodeDemo.java 파일을 컴파일합니다.

javac HashCodeDemo.java

다음 명령을 사용하여 컴파일된 HashCodeDemo 클래스를 실행합니다.

java HashCodeDemo

출력 결과 검토

클래스를 실행한 후 터미널에서 출력을 검토합니다. 첫 번째 코드 조각의 출력은 다음과 같아야 합니다.

Date: 2022-01-01
HashCode: -1176545808

두 번째 코드 조각의 출력은 다음과 같아야 합니다.

Current Date: 2022-06-05
HashCode: -2076859288

해시 코드 (hash code) 는 동일한 날짜에도 매번 다릅니다.

요약

이 랩 (lab) 에서는 Java 에서 LocalDate 클래스와 함께 hashCode() 메서드를 사용하는 방법을 배웠습니다. hashCode() 메서드를 사용하여 날짜 객체를 식별하는 데 사용할 수 있는 고유한 정수 값을 얻을 수 있습니다. 특정 날짜와 현재 날짜를 사용하여 두 개의 날짜 객체를 생성한 다음, hashCode() 메서드를 사용하여 두 객체의 해시 코드 (hash code) 를 구했습니다. 마지막으로, 터미널에서 Java 코드를 컴파일하고 실행했습니다.