Java equals 와 hash code


Java equals 와 hash code

우리는 보통 a == b는 둘이 완전 같은 경우 (주소값이 같은 경우), a.equals(b) == true는 주소값은 상관없이 값이 같은 경우라고 잘 알고 있다. 따라서, 일반적으로 자바 객체를 정의할 때 비교를 위해 equals를 아주 능숙하게 오버라이딩 한다.여기서 끝난다. 보통은.그런데, 우리는 이러한 얘기를 들어 봤을 것이다. 객체의 equals를 재정의 했다면 반드시 hashCode를 재정의 하라고.그래도, 보통은 위 예제에서 끝난다. -_-;그래서, 여기서는 왜 hashCode도 같이 재정의 해야 하는지에 대해 얘기하려고 한다.※ hash code 규약1. A.equals(B)가 true 면, A와 B의 hash 값은 같아야 한다.2. A.equals(B)가 false 면, ..........



원문링크 : Java equals 와 hash code