default method
, static method
로 구현가능해졌다.
public interface Calculator {
public int plus(int i, int j);
public int multiple(int i, int j);
//default로 선언함으로 메소드를 구현할 수 있다.
default int exec(int i, int j){
return i + j;
}
//static 메소드
public static int exec2(int i, int j){
return i * j;
}
}
//Calculator인터페이스를 구현한 MyCalculator클래스
public class MyCalculator implements Calculator {
@Override
public int plus(int i, int j) {
return i + j;
}
@Override
public int multiple(int i, int j) {
return i * j;
}
}
public class MyCalculatorExam {
public static void main(String[] args){
Calculator cal = new MyCalculator();
int value = cal.exec(5, 10);
System.out.println(value);
//static메소드 호출
int value2 = Calculator.exec2(5, 10);
System.out.println(value2);
}
}
static method
사용시 인터페이스명.메서드명()
으로 구성되어야 한다 cal.exec2 (x)
Calculator.exec2 (o)