Java/이론&문법
-
Java equals() vs hashCode()Java/이론&문법 2023. 8. 8. 19:43
급 tmi. intellij에서 cmd + option + b 누르면 docs 열 수 있음 # 1 equals()와 hashCode() 차이가 무엇일까요? 그리고 이 메소드들이 자바의 해시 컬렉션의 성능에 어떤 영향을 끼칠까요? equals()는 참조 변수의 값이 같은지 비교하는 메소드로, 재정의 되어있지 않다면 객체의 주소값을 비교하여 동일 객체인지 비교후 boolean 값을 리턴하는 메소드입니다. 대표적으로 String 클래스에 equals를 사용할 경우에는 주소값이 아닌 데이터 값을 비교하여 동일 여부를 판정합니다. (아래 코드 참고) hashCode()는 객체의 주소값을 이용하여 해싱 기법을 적용한 결과값을 리턴하는 메소드입니다. 자바의 해시 컬렉션은 동일 객체인지 판정할 때 hashCode() ..