클래스의 객체를 비교할 때, 동일성을 비교할 것인지 동등성을 비교할 것인지를 명확하게 해야 할 때가 있습니다. 그렇다면 동일성과 동등성이란 무엇일까요? 동일성(Identity) 두 객체의 동일성을 비교했을 때 같다는 것은, 실제 객체가 같다는 것입니다. 두 객체가 가지고 있는 값이 같을 뿐만아니라 힙 메모리 상에서 같은 주소에 위치해야 합니다. 두 객체가 물리적으로 같은지를 비교하는 셈입니다. 또, 동일한 객체는 같은 해시 코드 값을 가집니다. 해시 코드 값이란 모든 객체가 가지고 있는 고유한 값으로, 보통 객체가 위치한 메모리 주소에 특정 함수를 적용한 결과값을 나타냅니다. 해시 코드 값은 Object 클래스의 멤버 메소드인 hashCode()로 얻을 수 있습니다. 모든 객체는 Object 클래스의 서..