이하는 java.lang패키지에 포함된 몇가지 핵심 클래스들에 대한 정리
Person p1 = new Person();
Person p2 = new Person();
System.out.println(p1.equals(p2)); //false
p2 = p1;
System.out.println(p1.equals(p2)); //true
class Person {
long id;
//id로 인스턴스를 비교할 수 있게 equals메서드를 오버라이딩
public boolean equlas(Object obj) { //일단 Object타입을 줘서 모든 클래스를 다 받음
if (obj instanceof Person) {
//자식클래스를 부모타입으로 받으면 사용가능한 멤버의 개수가
//부모타입의 멤버로 제한되므로, 자식클래스 Person의 멤버변수
//id를 이용하기 위해 다시 자식타입으로 형변환 해줘야 함.
return id == ((Person)obj).id;
} else { //Person타입이 아닐 때
return false;
}
}
}