[Java] 유용한 클래스

dadev·2021년 10월 1일
0

Java

목록 보기
10/12
post-thumbnail

👍 Object 클래스

  • public String toString()

: 객체 자신의 정보를 문자열로 반환

  • public void notify()

: 객체 자신을 사용하려고 기다리는 쓰레드를 하나만 깨움.



💡 hashCode()

  • 해싱 : 데이터관리기법 중의 하나로 다량의 데이터를 저장하고 검색하는 데 유용하다.


  • 해시함수

찾고자하는 값을 입력하면, 그 값이 저장된 위치를 알려주는 해시코드(hash code)를 반환함.


java
public class Ex9_3 {
	public static void main(String[] args) {
		String str1 = new String("abc");
		String str2 = new String("abc");
		
		System.out.println(str1.equals(str2));
		System.out.println(str1.hashCode());
		System.out.println(str2.hashCode());
		System.out.println(System.identityHashCode(str1));
		System.out.println(System.identityHashCode(str2));
	}
}

📌 코드설명

String 클래스는 문자열의 내용이 같으면, 동일한 해시코드를 반환하도록 hashCode메서드 오버라이딩되어 있으므로, 문자열의 내용이 같은 str1과 str2에 대해 hashCode()를 호출하면 항상 동일한 해시코드 값을 얻음.

반면, System.identityHashCode(Object x)는 Object클래스의 hashCode메서드처럼 객체의 주소값으로 해시코드를 생성하기 때문에 모든 객체에 대해 항상 다른 해시코드 값을 반환

profile
매일매일 최선을 다하는 개발자

0개의 댓글