자바8 에서 인터페이스에 default method 를 사용가능하게 됐다
코드를 보자
public interface Foo {
default void print() {
System.out.println("hello world");
}
}
public interface Bar extends Foo{
}
public class Kyu implements Bar {
public void printKyu() {
System.out.println("Kyu");
}
}
public class Main {
public static void main(String[] args) {
Kyu kyu = new Kyu();
kyu.print();
kyu.printKyu();
}
}
결과
hello world
Kyu
더불어 List<?>
에서 바로 stream을 사용할 수 있는 것은
extend 하고 있는 Collection이 default 메소드로 아래를 구현하고 있기 때문이다