# equals와 hashCode

hashCodeequals와 함께 재정의하지 hash 값을 사용하는 Collection(HashSet, HashMap, HashTable)을 사용할 때 문제가 발생한다.

# 문제 발생 이유

hash값을 사용하는 Collection(HashSet, HashMap, HashTable)은 객체가 논리적으로 같은지 비교할 때 아래와 같은 과정을 거친다.

hashCode 메서드의 리턴 값이 일치하고 equals 메서드의 리턴 값이 true일 일 때 동등한 객체라고 판단한다.

# References

equals와 hashCode는 왜 같이 재정의해야 할까? (opens new window)

#Java #equals #hashCode
last updated: 9/16/2022, 8:42:02 PM