Java

동등성과 동일성의 차이

기기디 2022. 5. 25. 01:17

정의

  • 객체는 동일성(indentity) 비교와 동등성(equality)비교라는 두 가지 비교 방법이 있다.

차이

동일성

  • 동일성 비교는 ==비교다. 객체 인스턴스의 주소 값을 비교한다. equals를 별도로 overriding하여 구현하지 않은 경우 ObjectClass의 equals()가 호출되며 여기서 equals()는 동일성을 비교한다.
public boolean equals(Object obj) {
    return (this == obj);
}

동등성

  • 동등성 비교는 서로 다른 인스턴스이지만 객체 내부의 값이 같은지를 비교한다. 동등성 비교를 위해서는 equals()를 Override해야한다.

결론

  • 동일성과 동등성 비교의 차이는 두 객체가 같은 인스턴스인지 아닌지를 확인하는것이다.

'Java' 카테고리의 다른 글

동기와 비동기, Java Synchronized  (0) 2022.05.28
Servlet서블릿  (0) 2022.05.25
JVM - java버전별 변경점  (0) 2022.05.24
JVM  (0) 2022.05.24
LocalDateTime to LocalDate 변환  (0) 2021.09.14