동일성
-
[Java] Identity와 EqualityJava 2022. 1. 3. 18:03
동일성(Identity)와 동등성(Equality) 이전 포스팅에서 원시 타입과 참조 타입에 대해 알아보았다. 참조 타입의 객체를 비교할 때는 원시 타입 변수와 달리 값의 비교가 동일성, 동등성 두 가지의 의미를 가지게 된다. 동일성(Identity) 비교는 참조값을 비교하기 때문에 속성과 타입이 같아도 참조값이 다르면 다른 객체로 구분한다. 동등성(Equality) 비교는 equals 함수를 통해 객체의 속성을 비교한다. 하지만 객체의 최상위 클래스인 Object 클래스의 equals 함수를 보면 다음과 같이 파라미터로 받은 인스턴스와 메서드를 호출한 인스턴스 간의 동일성 비교(==)를 한다. public boolean equals(Object obj) { return (this == obj); } 다..