반응형
SMALL
동등성은 equals 메서드를 통해 논리적으로 같은 지위를 가졌는지를 판단하는 것이다. 즉, 사용자가 지정한 기준의 값이 같을 때 같다고 말할 수 있는 것이다. 이러한 동등성을 보장하기 위한 방법은 아래와 같다.
1. equals 메서드 재정의
같다의 기준이 되는 논리적 지위는 사용자가 요구사항에 맞춰 잘 재정의 해야 한다.
2. hashCode 메서드 재정의
Hash Table을 사용하는 자료형에서는 자료의 존재를 확인하기 위해 해싱 알고리즘을 사용한다. 그 과정에서 객체의 주소 값을 확인하는데, 동등성을 지니는 두 객체의 주소 값은 서로 다르기 때문에 이 과정에서 동일성 보장이 깨지게 된다. 따라서, equals 메서드와 함께 hashCode 메서드도 equals에서 재정의한 동등성의 기준 값으로 함께 재정의(Override) 해줌으로써 동등성을 보장해야 한다.
References
반응형
LIST
'Computer Science' 카테고리의 다른 글
[자바] CS 질문 리스트 정리 (0) | 2024.04.18 |
---|---|
[데이터베이스] CS 질문 리스트 정리 (0) | 2024.04.17 |
[운영체제] CS 질문 리스트 정리 (0) | 2024.04.17 |
[CS] 라이브러리와 프레임워크의 차이 (0) | 2023.01.08 |
[날카로운 질문하는 머쓱이] 웹 서버 최적화 방법 (0) | 2022.12.24 |