Close
Close full mode
logo만렙 개발자 키우기

(4) 값 타입의 비교

Git RepositoryEdit on Github
Last update: a year ago by nowwaterReading time: 2 min

자바가 제공하는 객체 비교는 2가지다.

  • 동일성(Identity) 비교 : 인스턴스의 참조 값을 비교, == 사용
  • 동등성(Equivalence) 비교 : 인스턴스의 값을 비교, equals() 사용

보통 값 타입의 동등성을 비교하기 위해서는 equals() 메소드를 재정의할 때 모든 필드의 값을 비교하도록 구현한다.

equals() 재정의 시, hashCode()도 재정의하는 것이 안전하다.

그렇지 않으면 해시를 사용하는 컬렉션(HashSet, HashMap) 이 정상 동작하지 않는다.

자바 IDE에는 대부분 equals(). hashCode()를 자동으로 생성해주는 기능이 있다.

🚀 JPA — Previous
(3) 값 타입과 불변 객체
Next — 🚀 JPA
(5) 값 타입 컬렉션