추상 클래스
추상 메서드는 선언만 있고 구현이 없는 메서드
추상메서드를 포함한 클래스는 추상클래스
추상 메서드와 추상클래스는 키워드 abstract로 표시
추상 클래스는 객체를 만들 수 없음. 따라서 서브 클래스를
만드는 용도로 사용
예를들어 스케줄러 프로그램에서 Event클래스를 정의했지만
객체를 만든 적은 없다 Event배열은 만들었지만 Event객체는 아니다.
Event클래스를 만든 이유는 다형성을 사용하기 위한 목적으로
다른 특정이벤트 클래스들을 상속하게하기 위해서였다.
package chapter4;
public abstract class Event {
public String title;
public Event(String title) {
this.title = title;
}
public abstract boolean isRelevnet(MyDate date);
}
그래서 추상화클래스로 만들고 추상화 메서드를 추가해 준뒤
각각 3가지 이벤트종류에 따라 코드를 재정의해주었다.
private void handleshow() {
String dateString = kb.next();
MyDate theDate = parseDateString(dateString);
for (int i=0; i<n;i++) {
if(events[i].isRelevent(theDate))
System.out.println(events[i].toString());
}
}
메인 클래스의 함수

show 라는 명령어와 함께 날짜를 입력하면
걸치는 이벤트들을 출력해준다.
'알고리즘 with 자바 > 자료구조' 카테고리의 다른 글
| 추상클래스와 인터페이스 3 (0) | 2021.07.07 |
|---|---|
| 추상클래스와 인터페이스 2 (0) | 2021.07.07 |
| 클래스 object와 Wrapper 클래스 (0) | 2021.07.06 |
| 스케줄러 프로그램 (0) | 2021.07.01 |
| 상속 3 (0) | 2021.06.30 |