자바 8이상부터는 default method 와 static method 를 정의할수있다.
인터페이스 안에서 default 메서드와 staic 메서드를 사용한 예제를 보여주면
Main
class Main {
public static void main(String[] args) {
계산기 cal = new 계산기();
int a = cal.exec(5, 6);
int b = cal.puls(3, 4);
int c = cal.multiple(7, 8);
int d = Calculator.exec2(5, 8);
System.out.println("일반 인터페이스 a 값: " + a);
System.out.println("일반 인터페이스 b 값: " + b);
System.out.println("인터페이스 default 사용한 c 값: " + c);
System.out.println("인터페이스 static 사용한 d 값: " + d); //
}
}
인터페이스
public interface Calculator{
public int puls(int a, int b); // 두개의 정수를 더하는 기능
public int multiple(int a, int b); // 곱하는 기능
default int exec(int a, int b){ // default 메서드 정의
return a + b;
}
public static int exec2(int a, int b){
return a * b;
}
}
구현 클래스
class 계산기 implements Calculator{
@Override
public int puls(int a, int b) {
return a + b;
}
@Override
public int multiple(int a, int b) {
return a * b;
}
}
출력 값)