[CS 면접 지식 -Java] 동일성과 동등성, equals()와 ==의 차이
·
면접 준비/Java
동일성과 동등성은 객체를 비교할 때 중요한 방식이다.자바에서는 두 개의 객체 또는 값을 비교할때 equals()또는==를 통해 구분할 수 있다. 1. equals와 ==의 차이equals()는 객체의 내용을 비교하는 반면, ==는 객체의 참조주소를 비교한다. 따라서 두 객체의 내용이 같더라도 서로 다른 객체라면 equals()는 true를 반환할 수 있지만 ==는 false를 반환한다. 2. 동등성(Equality) 동등성은 논리적으로 객체의 내용이 같은지 비교한다. 이때 사용하는 equals()메서드는 클래스에서 오버라이드하여 어떤 값을 비교할 것인지 설정할 수 있다.이때 중요한건 객체의 equals뿐만 아니라 hashCode도 오버라이드를 해줘야 한다는 점이다.그 이유는 해시값을 사용하는 자료 구조는..