더북(TheBook)

default로 구현한 메서드는 정숫값을 리턴한다고 했으므로 받아서 이렇게 출력할 수도 있습니다.

package javaStudy;

public class MyCalTest {

    public static void main(String[] args) {
        Calculator cal = new MyCal();
        cal.plus(3, 4);
        int i = cal.exec(5, 6);
        System.out.println(i);
    }
}

 

실행결과

11

 

실행결과 인터페이스에 구현한 메서드를 실행하면서 구현한 대로 두 정수를 더한 값을 출력합니다.

 

자, 이제 첫 문제로 돌아갑시다. 왜 자바 8에서는 default 메서드를 추가했을까요? 인터페이스를 구현하는 모든 클래스는 해당 메서드를 모두 구현해야 합니다. 그런데 만약 인터페이스를 변경한다면 어떻게 될까요? 변경한 인터페이스를 구현하는 모든 클래스가 다시 변경 사항을 구현해야 할 것입니다. 바로 이런 문제를 해결하기 위해 인터페이스에서 메서드를 구현할 수 있도록 default를 추가한 것입니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.