Java
동등성과 동일성의 차이
기기디
2022. 5. 25. 01:17
정의
- 객체는 동일성(indentity) 비교와 동등성(equality)비교라는 두 가지 비교 방법이 있다.
차이
동일성
- 동일성 비교는 ==비교다. 객체 인스턴스의 주소 값을 비교한다. equals를 별도로 overriding하여 구현하지 않은 경우 ObjectClass의 equals()가 호출되며 여기서 equals()는 동일성을 비교한다.
public boolean equals(Object obj) {
return (this == obj);
}
동등성
- 동등성 비교는 서로 다른 인스턴스이지만 객체 내부의 값이 같은지를 비교한다. 동등성 비교를 위해서는 equals()를 Override해야한다.
결론
- 동일성과 동등성 비교의 차이는 두 객체가 같은 인스턴스인지 아닌지를 확인하는것이다.