
package classex2;
class Date {
int month;
int year;
int day;
public Date(int month, int year, int day) {
this.month = month;
this.year = year;
this.day = day;
}
@Override
public boolean equals(Object obj) {
if(obj instanceof Date) { //(상위)부모객체가(하위)자식클래스 타입 이면 ?
Date dtd = (Date)obj; // 다운캐스팅
if(this.month == dtd.month && this.day == dtd.day && this.year == dtd.year) {
return true;
} else
return false;
}
return false;
}
@Override
public int hashCode() {
return day;
}
}
public class MyDate {
public static void main(String[] args) {
Date date = new Date(7,20,2020);
System.out.println(date);
Date date2 = new Date(7,20,2020);
System.out.println(date2);
System.out.println(date.equals(date2));
}
}

생각해보고 내가 다시 한번 작성해보기
package classex2;
class Date2 {
private int day;
private int month;
private int year;
public Date2(int day , int month , int year) {
this.day = day;
this.month = month;
this.year = year;
}
public boolean equals(Object obj) {
if(obj instanceof Date2) {
Date2 dtd = (Date2)obj;
if(this.day == dtd.day && this.month == dtd.month && this.year == dtd.year);
return true;
}
return false;
}
public int hashCode() {
return day;
}
}
public class MyDate2 {
public static void main(String[] args) {
Date2 date = new Date2(7,17,2020);
Date2 date2 = new Date2(7,17,2020);
System.out.println(date.equals(date2));
}
}
'JAVA Programming > JAVA 문제' 카테고리의 다른 글
| [64] ArrayList 로 Stack 구현 (0) | 2020.07.20 |
|---|---|
| [60] 제네릭 예제 내가 직접 생각해보면서 만들기 (0) | 2020.07.20 |
| [49] 코딩해보세요 , 인터페이스로 정렬 알고리즘 구현하기 (0) | 2020.07.17 |
| [46] 자바 인터페이스 요소들 , 여러개 상속 (0) | 2020.07.17 |
| [42] 템플릿 메소드문제( ArrayList, 템플릿메소드 run() , 추상클래스) (0) | 2020.07.16 |