본문 바로가기
Study Note/Java

JAVA_ Test123_ 『클래스명 @ 해시코드』

by 시뮝 2018. 6. 16.
728x90


Test123  『클래스명 @ 해시코드』

※ 『클래스명 @ 해시코드』


※ 해시코드(hashcode)

    : 자바 내부적으로 객체를 구분하기 위해 사용하는 것. 메모리의 주소값으로 생각하면 절대로 안된다.


※ 객체가 같으면 hashcode(해시코드)가 같지만 hashcode(해시코드)가 같다고 같은 객체는 아니다.


Test.java

class Test

{

private int a=10;


public void write()

{

System.out.println("a : " + a);

}

}


Test123.java

public class Test123

{

public static void main(String[] args)

{

Test ob1 = new Test();

Test ob2 = new Test();


System.out.println("10==9 : " + (10 == 9));

//--==>> 10 == 9 : false


int a=10, b=10;

System.out.println("a==b : " + (a==b));

//--==>> a==b : true

//-- 『==』비교 연산자는 피연산자의 크기를 비교함을 확인


System.out.println("ob1==ob2 : " + (ob1 == ob2));

//--==>> ob1 == ob2 : false

//-- 객체(Object)들을 비교하는 과정에서 사용하는 『==』연산자는

//   크기를 비교하는 것이 아니라 객체의 주소값을 비교.


System.out.println("ob1.equals(ob2) : " + ob1.equals(ob2));

//--==>> ob1.equals(ob2) : false

//-- 『==』연산자와 Object 클래스의 『equals()』메소드는

//   동일한 개념으로 객체의 주소값을 비교.


//------------------------------------------------------------------------------

System.out.println("\n--------------------------------------------\n");

System.out.println("ob1            : " + ob1);

System.out.println("ob1.toString() : " + ob1.toString());

System.out.println("ob2            : " + ob2);

System.out.println("ob2.toString() : " + ob2.toString());

//--==>> ob1            : Test@6d06d69c

//       ob1.toString() : Test@6d06d69c

//       ob2            : Test@7852e922

//       ob2.toString() : Test@7852e922


// 『클래스명 @ 해시코드』


// ※ 해시코드(hashcode)

//    : 자바 내부적으로 객체를 구분하기 위해 사용하는 것.

//      메모리의 주소값으로 생각하면 절대로 안된다.


// ※ 객체가 같으면 hashcode(해시코드)가 같지만

//     hashcode(해시코드)가 같다고 같은 객체는 아니다.

}

}


cmd

10==9 : false

a==b : true

ob1==ob2 : false

ob1.equals(ob2) : false


--------------------------------------------


ob1            : Test@546a03af

ob1.toString() : Test@546a03af

ob2            : Test@721e0f4f

ob2.toString() : Test@721e0f4f

계속하려면 아무 키나 누르십시오 . . .







728x90

댓글