스프링,스프링부트
람다식 (Lambda)
JUN0126
2021. 7. 10. 17:27
람다식이란?
- 자바의 함수적 프로그래밍을 위한 자바8 부터 제공해주는 기능
• 기본 문법
(타입 매개변수) -> { 실행코드 } 형태로 작성된다.
• 하나의 매개 변수만 있는 경우
- 매개변수 괄호 생략해도 사용 가능 a-> { 실행코드 }
• 매개변수가 하나도 없는 경우
- 빈 괄호 반드시 사용한 후 사용가능 () -> { 실행코드}
• 중괄호 {} 에 retrun 문만 있을 경우 중괄호 제거하고 사용 가능 EX) (x,y) -> x + y
@FunctionalInterface (함수적 인터페이스)
- 두 개 이상의 추상적 메소드가 선언된 인터페이스는 람다식을 이용해서 구현 객체 생성할 수 없다.
- 두 개 이상의 추상 메소드가 선언되지 않도록 컴파일러가 체킹해주는 기능
- 람다식은 하나의 메소드를 정의하는것이기 떄문에 추상 메소드는 하나만 필요!
(정적) 메소드 참조
(x,y) -> Math.max(x,y) => Math :: max
인스턴스 메소드 참조
참조 변수 :: 메소드
매개 변수의 메소드 참조
(a,b) -> { a.instanceMethod(b) } => 클래스 :: instanceMethod
생성자 참조
(a,b) -> { return new 클래스(a,b) } => 클래스 :: new