스프링,스프링부트

람다식 (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

'스프링,스프링부트' 카테고리의 다른 글

@Transactional  (0) 2023.08.26
Servlet의 이해  (0) 2021.12.05
DAO, DTO, VO, Entity  (0) 2021.06.30
SpringBoot를 이용한 Rest API -1  (0) 2020.07.02
6/7 스프링가이드 정리  (0) 2020.06.07