Java

Object 객체의 equals와 hashCode

데굴데굴. 2022. 1. 3. 22:18

모든 객체의 조상, Object 에 대해 알아보자.

Object 는 크게 두 개의 메서드를 가진다. equals와 hashcode이다.

먼저 equals는 파라미터로 들어오는 객체와 '동일한 객체인지' 비교해서 boolean을 반환한다.

public boolean equals(Object obj) {
    return (this == obj);
}

즉 동일한 레퍼런스를 참조하는 진짜로 똑같은 객체일 때만 true 다.

hashCode 함수는 객체의 해시값을 반환하는 함수이다.

해시라는 단어만 들어도 알 수 있듯, 객체마다 모두 다른 값을 반환해준다.

public native int hashCode();

오잉? 이 메서드는 구현부가 없고 native라는 특이한 키워드를 가지고 있다.

native 란 자바가 아닌 언어(C, C++ 등)로 구현한 후 사용할 때 필요한 키워드라고 한다.

자바 개발자라면 기본으로 알아야 하는 내용이라고 하니.. 나도 알아두자.