Java

hashCode()와 equals()

유호야 2020. 12. 4. 13:49
반응형

equals()
두 객체의 내용이 같은지 확인하는 메소드

package bb.bb.bb;

public class HashCode {

	public static void main(String[] args) {
		
		String str1 = new String();
		str1 = "same";
		String str2 = new String();
		str2 = "same";
		
		String str3 = new String("same");
		
		System.out.println(str1.equals(str2));
		
		System.out.println(str1 == str2);
		System.out.println(str1 == str3);
		
		
	}
	

}


hashCode()
객체의 주소값을 이용하여 객체 고유의 해시코드를 리턴하는 함수이다.
hashCode()를 equals()와 함께 오버라이딩 해야 하는 이유는 HashSet, HashMap, Hashtable과 같은 프레임워크에서 객체의 비교시 hashCode() 결과값을 통해 해시코드 값이 다르면 다른 객체로 판단하기 때문이다.

 

hashCode란?
객체 해시코드란 객체를 식별하는 하나의 정수값을 말한다. Object의 hashCode() 메소드는 객체의 메모리 번지를 이용해서 해시코드를 만들어 리턴하기 때문에 객체 마다 다른 값을 가지고 있다.

예제 만들기

 

반응형

'Java' 카테고리의 다른 글

.substring() 메소드  (0) 2020.12.04
hashCode()와 equals()  (0) 2020.12.04
equals와 hashCode의 관계  (0) 2020.12.04
[JSP] MVC2패턴 게시판 만들기  (0) 2020.12.03
[아키텍처 패턴] MVC 패턴이란?  (0) 2020.12.02