728x90
자바
- 두 참조 변수에서 ==을 사용시 주소값까지 비교한다.(동일성)
- 두 참조 변수에서 equals로 비교시에는 두 변수의 값만 비교한다.(동등성)
코틀린
- 자바와 달리 ==을 사용할시 내부적으로 equals를 호출한다.(값만 비교, 동등성)
- ===을 사용하면 주소값까지 비교할 수 있다.
- 코틀린에서 equals 와 == 과 같음
동일성
- 두 객체가 완전히 동일함
- 하나의 객체만 존재하는 것이고 그 객체를 여러 참조 변수가 사용하는 것을 의미
- 한마디로 두 변수의 메모리 변수까지 같음
동등성
- 동일한 정보를 갖는 객체를 의미
- 서로 다른 객체가 비교 기준에 따라 같은 값을 가지고 있음을 의미
참고문헌 : https://kotlinlang.org/docs/equality.html#structural-equality