본문 바로가기

Computer Science

[날카로운 질문하는 머쓱이] 동등성 보장

반응형
SMALL

 

동등성은 equals 메서드를 통해 논리적으로 같은 지위를 가졌는지를 판단하는 것이다. 즉, 사용자가 지정한 기준의 값이 같을 때 같다고 말할 수 있는 것이다. 이러한 동등성을 보장하기 위한 방법은 아래와 같다.

 

1. equals 메서드 재정의

같다의 기준이 되는 논리적 지위는 사용자가 요구사항에 맞춰 잘 재정의 해야 한다.

 

2. hashCode 메서드 재정의

Hash Table을 사용하는 자료형에서는 자료의 존재를 확인하기 위해 해싱 알고리즘을 사용한다. 그 과정에서 객체의 주소 값을 확인하는데, 동등성을 지니는 두 객체의 주소 값은 서로 다르기 때문에 이 과정에서 동일성 보장이 깨지게 된다. 따라서, equals 메서드와 함께 hashCode 메서드도 equals에서 재정의한 동등성의 기준 값으로 함께 재정의(Override) 해줌으로써 동등성을 보장해야 한다.

 

 

 

References

https://creampuffy.tistory.com/140

반응형
LIST