public class Test2{
public int x;
public static void main(String[] args) {
Test2 ob1 = new Test2();
Test2 ob2 = new Test2();
ob1.x=10;
ob2.x=10;
System.out.println((ob1==ob2)); //값은 같으나 주소비교이므로 false
System.out.println(ob1.equals(ob2));
//값은 같으나 주소비교이므로 false(Object클래스의 equals는 값이 아닌 주소비교)
System.out.println(ob1); //출력내용 : 클래스이름@(16진수)해쉬코드값
System.out.println(ob1.toString()); //toString 객체에 대한 클래스이름과 클래스 정보만을 "클래스_이름@16진수_해시코드값" 형태의 문자열로 리턴
System.out.println(ob1.hashCode()); //10진수로 해시코드 출력
System.out.printf("%x\n", ob1.hashCode()); //10진수 해시코드를 16진수로 변경
System.out.println(ob2);
}
}
1. Object클래스의 equals는 주소값을 비교(String클래스의 equals는 값을 비교)
2. toString() 객체에 대한 클래스이름과 클래스 정보만을 "클래스_이름@16진수_해시코드값" 형태의 문자열로 리턴
3. hashCode() 10진수로 해시코드를 가져옴
4. 자바의 모든 클래스는 자바의 최상위 클래스인 java.lang.Object클래스로부터 상속을 받도록 되어 있다.
반응형
'JAVA' 카테고리의 다른 글
[JAVA] Number 클래스 (0) | 2021.12.18 |
---|---|
[JAVA] Wrapper 클래스 (0) | 2021.12.18 |
[JAVA] Object 클래스 주요 메서드 (0) | 2021.12.18 |
[JAVA] String 관련메서드 사칙연산 (0) | 2021.12.18 |
[JAVA] String 관련 메서드 (0) | 2021.12.17 |
최근댓글