🔸 2022-09-12 월요일
[객체지향프로그래밍]
1. Object 클래스 응용
- 날짜를 구현한 클래스 MyDate
- 날짜가 같으면 equals() 메서드의 결과가 true가 되도록 구현하기
- hashCode() 메서드도 구현
package object;
public class MyDate {
int day;
int month;
int year;
public MyDate(int day, int month, int year) {
this.day = day;
this.month = month;
this.year = year;
}
package object;
public class MyDateTest {
public static void main(String[] args) {
MyDate date1 = new MyDate(12, 9, 2022);
MyDate date2 = new MyDate(12, 9, 2022);
System.out.println(date1.equals(date2));
}
}
- 결과는
false
- 아무것도 오버라이딩을 하지 않았기 때문
- equals()와 hashCode() 작성
@Override
추가
- equals() 정의 => if 조건문으로 true 값 설정
- hashCode() 정의
@Override
public boolean equals(Object obj){
if(obj instanceof MyDate){
MyDate date=(MyDate)obj;
if(this.day==date.day&&this.month==this.month&&this.year==this.year)
return true;
return false;
}
return false;
}
@Override
public int hashCode(){
return day*11+month*101+year*1001;
}
🔖 Eclipse 실습
🔖 Eclipse 출력 Console