동등성
-
Java - hashCode() & equals()Language/Java 2022. 4. 5. 15:34
hashCode() hashCode()란? hashCode()는 두 객체가 같은 객체인지 확인한다. hashCode() 메서드는 '=='과 같은 동일 비교 기능을 하며, 반환 값으로 런타임 중 객체의 유일한 정수 값을 반환한다. 일반적으로 Heap에 저장된 객체의 메모리 주소를 반환한다. 해시란? 해시는 임의의 크기를 가진 데이터(key)를 고정된 크기의 데이터(value)로 변화시켜 저장하는 것이다. key에 대한 해시값을 구하는 과정을 해싱이라고 하며, 이때 사용하는 함수를 해시함수라고 한다. equals() equals()란? equals()는 두 개의 객체가 동일한지 검사하기 위해 사용되는 메서드이다. equals()가 객체를 비교하는 방법은 두 개의 객체가 참조하는 것이 동일한지를 확인하는 것이..
-
Java - 동일성(identity) & 동등성(equality)Language/Java 2022. 3. 3. 16:47
동일성(identity) & 동등성(equality) 동일성이란? 동일성은 동일하다는 뜻으로 두 개의 객체가 완전히 같은 경우를 의미한다. 여기서 완전히 같다는 뜻은 두 객체가 사실상 하나의 객체로 봐도 무방하며, 주소 값이 같기 때문에 두 변수가 같은 객체를 가리키게 된다. 위 사진에서 refVar1은 객체1을 가리키고 있고, refVar2와 refVar3는 객체2를 가리키고 있다. refVar2와 refVar3는 동일한 객체를 가리키고 있으므로, 두 변수는 동일하다고 이야기할 수 있다. 그리고 해당 변수가 동일한지 "==" 연산자를 통해 판별할 수 있다. 추가적으로, Primitive Type은 객체가 아니라 주소가 없으므로 "==" 연산자를 사용하였을 때 내용이 같으면 동일하다고 말한다. 동등성이란..