-
자바 step10 - interface(자바의 람다함수, override)Java 2022. 11. 6. 15:17
package test.mypac; /* * 추상메소드가 1개인 인터페이스 * * 야는 좀 특별함... */ public interface Drill { public void hole(); }
interface로 Drill 생성하였다.
package test.main; import test.mypac.Drill; public class MainClass04 { public static void main(String[] args) { useDrill(new Drill() { @Override public void hole() { System.out.println("위이이이이이잉~~~!!!!!"); } }); useDrill(()->{ System.out.println("위이이잉~~~!!!!!"); }); // 으악 이게 뭐지? Drill d2=()->{ System.out.println("천장 구멍"); }; // Drill type 을 메소드의 인자로 전달하기 useDrill(d2); // Drill type 의 메소드 직접 호출하기 d2.hole(); }; // Drill 인터페이스 type 을 인자로 전달받는 메소드 public static void useDrill(Drill d) { d.hole(); } } <console> 위이이이이이잉~~~!!!!! 위이이잉~~~!!!!! 천장 구멍 천장 구멍
Drill 인터페이스 type 을 인자로 전달받는 메소드 useDrill을 만들어놓고 그것을 호출하여 hole 메소드를 재정의 하였다.
자바에서도 람다함수처럼 사용하는 방법이 나왔으므로 람다함수에 익숙하신 분들은 편한 방법을 사용하면 된다.
'Java' 카테고리의 다른 글
자바 step11 - GenericClass (0) 2022.11.07 자바 step10 - interface(@FunctionalInterface) 함수 모양으로 사용할 인터페이스에 붙이는 어노테이션 (0) 2022.11.06 자바 step10 - interface(implements, orverride, final 예약어) (0) 2022.11.06 자바 step9 - AbstractClass(override) (0) 2022.11.06 자바 step9 - AbstractClass(클래스 안에 클래스(내부 클래스)) (0) 2022.11.06