package ex0723;
public class Ex01_override {
public static void main(String[] args) {
User1 ob1 = new User1("1001", "홍길동");
User1 ob2 = new User1("1001", "홍길동");
System.out.println( ob1 == ob2 ); // 주소를 비교(false)
// User1에서 equals() 메소드를 재정의해서 학번과 이름이 동일하면 true를 반환
System.out.println( ob1.equals(ob2)); //
}
}
class User1 {
private String hak;
private String name;
public User1() {
}
public User1(String hak, String name) {
this.hak = hak;
this.name = name;
}
public String getHak() {
return hak;
}
public void setHak(String hak) {
this.hak = hak;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
// Object 클래스의 equals() 메소드를 재정의
@Override
public boolean equals(Object obj) {
User1 u = (User1)obj; // Object 객체를 User1 객체로 다운 캐스팅
return this.hak.equals(u.getHak()) && this.name.equals(u.getName());
}
}