객체 대상 -- Object 클래스

1038 단어
Object: 모든 객체의 직접 또는 간접 상위 클래스입니다.
이 클래스는 모든 대상이 갖추고 있는 기능이라고 정의했다.
public class Demo48 {

	public static void main(String[] args){
		Demoo d1=new Demoo();
		Demoo d2=new Demoo();
		Demoo d3=d1;
		
		System.out.println(d1.equals(d2));
		System.out.println(d1.equals(d3));
	}
}

class Demoo{
	
}

출력:
false
true
그 중에서 equals가 비교한 것은 주소가 같은지 여부다.
Object 클래스에서는 객체의 비교 방법이 동일한지 여부가 제공되며, 사용자 정의 클래스에서도 동일한 기능이 있을 경우 재정의할 필요가 없습니다.
부류의 기능을 답습하고 자신만의 비교 내용을 구축하면 된다. 이것이 바로 덮어쓰기다.
public class Demo48 {

	public static void main(String[] args){
//		Demoo d1=new Demoo();
//		Demoo d2=new Demoo();
//		Demoo d3=d1;
//		
//		System.out.println(d1.equals(d2));
//		System.out.println(d1.equals(d3));
		
		Demoo d1=new Demoo(4);
		Demoo d2=new Demoo(4);
		System.out.println(d1.equals(d2));
	}
}

class Demoo{
	private int num;
	Demoo(int num) {
		this.num=num;
	}
	public boolean equals(Object obj){
		Demoo d=(Demoo)obj;
		return this.num==d.num;
	}
}

출력: true

좋은 웹페이지 즐겨찾기