강의로 돌아가기
-

default

미터에서 int와 void는 텍시에서 그대로 사용하는데 default는 왜 택시에서 사용하지 못하는 건가요?

작성중인 코드―TaxiExam.java
1
2
3
4
5
6
7
8
9
public class TaxiExam{
  public static void main(String[] args){
    Taxi taxi = new Taxi();

    taxi.start();
    taxi.afterMidnight();
    taxi.stop(10);
  } 
}
작성중인 코드―Meter.java
1
2
3
4
5
6
7
8
public interface Meter{
  public void start();
  public int stop(int distance);

  public default void afterMidnight(){
    System.out.println("자정이 넘었습니다. 할증이 필요한경우 이 메소드를 오버라이드 하세요.");
  }
}
작성중인 코드―Taxi.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class Taxi implements Meter{
  public void start(){
    System.out.println("택시가 출발합니다.");
  }

  public int stop(int distance){
    int fare = distance * 2;
    System.out.println("택시가 도착했습니다. 요금은 "+fare+"입니다.");
    return fare;
  } 

  public void afterMidnight(){
  }
}
1 개의 답변
프로그래머스

Meter는 인터페이스고, Taxi는 인터페이스가 아니기 때문입니다.

답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.