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
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기