(4) 값 타입의 비교
Last update: a year ago by nowwaterReading time: 2 min
자바가 제공하는 객체 비교는 2가지다.
- 동일성(Identity) 비교 : 인스턴스의 참조 값을 비교,
==
사용
- 동등성(Equivalence) 비교 : 인스턴스의 값을 비교,
equals()
사용
보통 값 타입의 동등성을 비교하기 위해서는 equals()
메소드를 재정의할 때 모든 필드의 값을 비교하도록 구현한다.
equals()
재정의 시,hashCode()
도 재정의하는 것이 안전하다.그렇지 않으면 해시를 사용하는 컬렉션(HashSet, HashMap) 이 정상 동작하지 않는다.
자바 IDE에는 대부분
equals()
.hashCode()
를 자동으로 생성해주는 기능이 있다.