public class Ex02 {
	public static void main(String[] args) {
    	// Test2의 상위 클래스 : Object
        Test2 t1 = new Test2();
        Test2 t2 = new Test2();
        Test2 t3 = t1;
        
        // toString() 메소드는 Object 메소드로 "클래스명@해쉬코드"를 반환한다.
        // 해쉬코드 : JVM이 해당 객체를 빠르게 검색할 수 있도록 만들어진 값.
        // 동일한 객체는 해쉬코드가 같지만, 해쉬코드가 같다고 동일한 객체는 아니다.
        // Object 클래스 : 모든 클래스의 최상위 클래스
        // 상위 클래스의 public, protected 접근제어자의 메소드나 필드는 모든 하위 클래스에서 사용 가능하다.
        System.out.println(t1.toString());
        System.out.println(t1);
        
        System.out.println( t1 == t2 );
        System.out.println(t1.equals(t2));
        
        System.out.println(t1.equals(t2));
        
        System.out.println(t1.equals(t3));
        
        System.out.println(t1.hashCode()); // 10 진수로 출력
        System.out.println("%h\n", t1.hashCode()); // 16진수로 출력        
    }
}
class Test2 {
}

동일한 객체는 해쉬코드가 같지만, 해쉬코드가 같다고 동일한 객체는 아니다.

'쌍용강북교육센터 > 7월' 카테고리의 다른 글

0719_Ex04_Java API : Integer  (0) 2021.07.19
0719_Ex03 Java API : Object clone  (0) 2021.07.19
0719_Ex01_Java API : Math  (0) 2021.07.19
0716_Ex04_Calendar  (0) 2021.07.19
0716_Ex03_singleton 패턴  (0) 2021.07.19

+ Recent posts