package com.test;
public class ToString {
public static void main(String[] args){
Puppy puppy1=new Puppy();
Puppy puppy2=new Puppy();
//hashCode - 객체에 부여하는 번호
System.out.println(puppy1.toString());
int x=10;
int y=10;
if(x==y){System.out.println("같다");
}
if(puppy1.equals(puppy2)){//hashCode값을 비교
System.out.println("강아지 둘이 같다");
}else{
System.out.println("강아지 둘이 다르다");
}
}
}
class Puppy extends Object{
String name="뽀삐";
int age=2;
public void wantToEat(){
System.out.println("왕 왕 우우~~");
}
@Override
public String toString(){
return "이름은 "+name+","+" 나이는 "+age+"살";
//return super.toString();
/*e2.getClass().getName()
+'@'+Integer.toHexString(e2.hashCode()*/
}
@Override
public boolean equals(Object arg0){
//this : 자기 자신의 (객체 )인스턴스를 가리킴
Puppy he = (Puppy)arg0;//다운캐스팅
if(this.name==he.name){
return true;
}else{
return false;
}
}
//원래 hashCode를 비교하는 기능
/*if(this.hashCode()==arg0.hashCode()){
return true;
}*/
//return super.equals(arg0);
}