값 타입에서 equals()와 hashcode() 재정의하기

안석우(문과대학 철학)·2024년 1월 31일
0

JPA

목록 보기
4/7
post-thumbnail

값 타입의 경우 인스턴스가 달라도 그 안에 있는 필드의 모든 값들이 같으면 같은 걸로 처리해줘야하기 때문에 값 타입 정의시 equals()와 hashcode()를 재정의해야한다.

  • 이 때 마음대로 재정의하지 말고 아래와 같이 하자.

1.값 타입 클래스에 가서 command+N을 누르면 아래 창이 뜬다.

equals() and hashcode()를 누른다.

yes를 누른다.

next를 누른다.

equals() 메서드에서 비교할 필드들을 체크하고 next를 누른다. 위의 예시는 city와 street 필드의 값이 같으면 true를 반환하겠다는 의미다.

hashcode() 메서드에서 비교할 필드들을 체크하고 create를 누른다.

그럼 위와같이 equasl()와 hashcode()가 재정의된다.

0개의 댓글