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());
}
}
'쌍용강북교육센터 > 7월' 카테고리의 다른 글
0723_Ex03_ClassTypeCast : up-casting, down-casting (0) | 2021.07.23 |
---|---|
0723_Ex02_override : 재정의 (0) | 2021.07.23 |
0722_Ex06_override : 오버라이드 상속 재정의 (0) | 2021.07.22 |
0722_Ex05_Inheritance : 상위 클래스 하위 클래스 (0) | 2021.07.22 |
0722_Ex04_Inheritance : 인자가 있는 상위 클래스의 생성자 (0) | 2021.07.22 |