equals(), hashCode()의 재정의

수삼·2023년 2월 7일
0

개발지식

목록 보기
5/11

equals()

equals()는 두 객체를 논리적으로 같은가를 확인한다.
하지만 주소값을 비교하기 때문에, 실제 값을 비교하기 위해선 재정의가 필요하다.
*이때 hashcode()도 같이 재정의한다.

언제?

주로 값 클래스 (Integer, String)처럼 값을 표현하는 클래스를 정의한다
객체가 같은지가 아니라 값이 같은지 알고 싶을때

hashCode()

재정의 해야 하는 이유:
같은 값을 가진 객체가 서로 다른 해시값을 갖게 될 수 있다.

0개의 댓글