[Java] 자바 기본 클래스 - 예제

나영원·2020년 8월 30일
0

Java_basic

목록 보기
55/60

예제

  • 날짜를 구현한 클래스 MyDate가 있습니다.
  • 날짜가 같으면 equals()메서드의 결과가 true가 되도록 구현해 보세요
  • hashCode()메서드도 구현해 보세요.

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;
	}
	
	@Override
	public int hashCode() {
		return day+month+year;
	}

	@Override
	public boolean equals(Object obj) {
		if( obj instanceof Mydate ) {
			Mydate date = (Mydate)obj;
			return (this.day == date.day);
		}
			
		return false;
	}
}

public class MydateTest {

	public static void main(String[] args) {
		
		Mydate date1 = new Mydate(22,7,2020);
		Mydate date2 = new Mydate(22,7,2020);

		System.out.println(date1.equals(date2)); //true
		
		System.out.println(date1.hashCode()); //2049
		System.out.println(date2.hashCode()); //2049
		
	}

}
  • Mydate 클래스에 날짜를 구현할 수있도록 변수와 생성자를 입력합니다.

  • equals()를 재정의하여 2개의 date가 날짜가 같으면 eqauls를 true로 반환하게 하게 재정의합니다.

  • hashCode()를 재정의하여 day+month+year의 값을 return하게 합니다.

  • Mydate 인스턴스 dat1과 dat2를 생성하고 eqauls를 하면 true가 반환되고 hascode()를 사용하면 day,month,year를 합한 값이 출력됩니다.

profile
배우는 개발 일기

0개의 댓글