Direction.class
public abstract class Direction {
// 출발, 도착 세팅
final void setStartAndDest(String start, String end) {
System.out.println("출발지 : " + start);
System.out.println("도착지 : " + end);
}
// 경유지 세팅
final void setPassThroughs(String... points) {
for (String point : points) {
System.out.println("* 경유지 : " + point);
}
}
// 길 찾기
abstract void getDirection();
}
getDirection()
같은 기능은 abstract로 둬 각자 상속받아 구현할 수 있게 한다.FastDirection.class
public class FastDirection extends Direction {
@Override
void getDirection() {
System.out.println("빠른 길을 찾습니다.");
}
}
FreeDirection.class
public class FreeDirection extends Direction {
@Override
void getDirection() {
System.out.println("무료 길을 찾습니다.");
}
}
CloseDirection.class
public class CloseDirection extends Direction {
@Override
void getDirection() {
System.out.println("가까운 길을 찾습니다.");
}
}
참조: