/* ===================================================
■ ■ ■ 자바의 주요(중요) 클래스 ■ ■ ■
====================================================*/
// Object 클래스
class Test
{
/*
...
public boolean equals(Object obj) equals 메소드 --- Object 타입의 obj를 비교하는 메소드
{
.....;
}
....
*/
private int a = 10;
public void write()
{
System.out.println("a : " + a);
}
}
public class Test130
{
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;
int b =10;
System.out.println("a==b : " + (a == b));
//==> a==b : true
//『 == 』비교연산자는 피연산자의 크기를 비교함을 확인(관찰)
System.out.println("ob1 == ob2 : " + (ob1 == ob2));
//==> ob1 == ob2 : false
// 『 객체 』를 비교한 경우 『 == 』 연산자는
// 크기를 비교하는 것이 아니라, 주소를 비교.
System.out.println("ob1.equals(ob2) : " + (ob1.equals(ob2)));
//==> ob1.equals(ob2) : false
// ※ 『 == 』 연산자와 Object 클래스의 『 equals() 』 메소드는
// 동일한 개념으로 객체의 주소를 비교.
System.out.println();
System.out.println("------------------------------------------");
System.out.println();
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@15db9742
ob1.toString() : Test@15db9742
ob2 : Test@6d06d69c
ob2.toString() : Test@6d06d69c
*/
// 『클래스명@해시코드』
// ※ 해시코드(hashcode)
// : 자바 내부적으로 객체를 구분하기 위해 사용하는 것.
// 메모리의 주소값으로 생각하면 절대 안됨.
// ※ 객체가 같으면 hashcode (해시코드) 가 같지만,
// hashcode(해시코드)가 같다고 같은 객체는 아니다.!
}
}
728x90
'JAVA' 카테고리의 다른 글
Test132.java / 자바의 주요(중요) 클래스 / Wrapper 클래스 (0) | 2022.10.23 |
---|---|
Test131.java / 자바의 주요(중요) 클래스 / Object 클래스 (0) | 2022.10.23 |
Test129.java / 자바의 주요(중요) 클래스 / import 구문(Test128.java 와 비교) (0) | 2022.10.23 |
Test128.java / 자바의 주요(주요) 클래스 / 클래스 개념 - import 구문 (0) | 2022.10.23 |
Test127.java / 클래스 고급 - 중첩 클래스 / Annoymous 클래스(익명 클래스) (0) | 2022.10.23 |
댓글