-
1. 함수형 인터페이스와 람다 표현식 소개자바/자바8 2022. 3. 11. 19:28
1. 함수형 인터페이스
- 추상 메소드가 하나만 있으면 함수형 인터페이스.
- FunctionalInterface 어노테이션을 가지고 있는 인터페이스.
- 자바8에서 abstract, public 예약어 생략 가능.
- 자바8의 함수형 인터페이스에서 static, default 메소드 구현이 가능하다.
@FunctionalInterface public interface RunSomething { //추상 메소드 void doIt(); static void printName(){ System.out.println("static"); } default void printAge(){ System.out.println("default"); } }
2. 익명 내부클래스 사용
- 외부 변수를 사용하지 않도록 주의.
public class FunctionalInterfaceImpl { public static void excute(){ RunSomething runSomething = new RunSomething() { @Override public void doIt() { System.out.println("Hello!"); } }; } }
3. 람다 표현식 사용
- 함수형 인터페이스를 인라인으로 구현.
- 함수형 인터페이스를 메소드 매개변수, 리턴값으로 사용할 수 있게 됨.
public class LamdaServiceImpl { public static void excute(){ RunSomething runSomething = () -> System.out.println("Hello!"); } }
*실습 자료는 깃허브에 커밋했습니다.
https://github.com/bamcoding/workspace-toy/tree/master/java8to11
GitHub - bamcoding/workspace-toy: "React.js, 스프링 부트, AWS로 배우는 웹 개발 101" 따라하기.
"React.js, 스프링 부트, AWS로 배우는 웹 개발 101" 따라하기. Contribute to bamcoding/workspace-toy development by creating an account on GitHub.
github.com
<- 이전 게시글로 이동합니다.
https://distribute.tistory.com/132?category=1085132
0. 자바8 학습의 필요성
1. WHY? 5년을 자바 웹 개발자로 일했습니다. ktds university에서 실무 교육을 받고 쉽게 취업해서 일을 시작했는데 개발하는 것보다 업무를 파악하는 게 너무 힘들었습니다. 퇴근하면 일 관련해서는
distribute.tistory.com
-> 다음 게시글로 이동합니다.
https://distribute.tistory.com/141?category=1085132
2. 자바에서 제공하는 함수형 인터페이스
1. 자주 사용하는 함수형 인터페이스(functional interface) - 아래 메소드는 오라클 자바8에서 사용법을 찾아 직접 사용해보기를 권장합니다. - 함수형 인터페이스는 매개변수와 리턴 타입을 지정 한
distribute.tistory.com
'자바 > 자바8' 카테고리의 다른 글
스트림 (0) 2022.05.01 2. 자바에서 제공하는 함수형 인터페이스 (0) 2022.03.18 Callable과 Future (0) 2022.03.17 Executor (0) 2022.03.17 0. 자바8 학습의 필요성 (0) 2022.03.11