equals와 hashcode

momomoki·2023년 10월 20일
0
post-thumbnail

equals()와 hashcode()란??


이번에는 코드부터 보는게 설명하는게 쉬울꺼같다. 그래서 결과를 보면 equals()는 문자에 대해 같은 문자인지 확인하는거다. 만약 문자가 같다면 true 다르다면 false를 반환하는데 앞 뒤에 공백이 있으면 같은 문자가 아니기에 false를 반환한다. hashcode()를 알아보기전에 일단 다른 예제를 가져와 보자.


이렇게 hashcode()를 보면 cafe1과 cafe2는 다르고 cafe2와 cafe3이 hashcode()가 같다. 여기서 알 수 있는거는 hashcode()는 그 객체의 주소값을 숫자로 바꿔주는건가?라고 생각을 했다. 근데 처음 본 코드예제에서는 st1과 str2를 각각 new를 사용해서 주소값을 바꿔서 생성했다고 했는데 왜? hashcode()는 같은 값이 나왔을까?라는 생각을 하게되었습니다. 근데 이번 포스팅에서는 더 깊게 배우지 않고 간단하게 알고 가고 나중에 hashMap hash테이블에서 더 자세히 알아가겠습니다. 하지만 이번 포스티에서 가장 중요하게 생각하는것은 equals가 true면 두 객체의 hashcode는 같은 값을 가진다 입니다.

profile
얍얍엽엽욥욥

0개의 댓글