
Java에서 객체 비교, 진짜 똑같은지 어떻게 알까? equals()와 hashCode()는 서로 연관이 있을까?겉보기엔 같아 보여도, 사실 내부 동작은 전혀 다릅니다.Object 클래스 기본 구현public boolean equals(Object obj) { return this == obj; // 주소값 비교}public native int hashCode(); // 보통 객체 주소 기반오버라이딩하지 않은 상태에서는:equals() → this == obj → 주소값 동일 여부hashCode() → 객체 주소 기반 값 반환중요 포인트: equals()는 hashCode를 직접 사용하지 않습니다.기본 구현에서 주소값 비교와 hashCode 반환 방식이 같은 이유는 Java 내부 구현상의 우연일 뿐..