JAVA, Kotlin

람다 Lambda 란?

UDUD 2021. 6. 23. 16:46
반응형

람다 표현식이란?

JAVA8에서 나온 대표적인 새로운 기능으로, 함수형 프로그래밍에서 사용 가능한 이름이 없는 익명 함수 입니다. 이전 JAVA버전에서 할 수 없었던 일을 할 수 있도록 만들지는 않지만 동적 파라미터등을 이용할 때 코드를 간결하게 작성함으로써 유연한 코드 작성이 가능합니다.

람다 특징

  1. 익명성 : 보통 메서드와 다르게 이름이 없는 익명 표현식
  2. 함수형 : 특정 클래스에 종속되지 않는 '함수' 지만, 보통 메서드처럼 파라미터, 바디, 반환형식, 예외 리스트를 포함
  3. 전달 : 람다 표현식을 파라미터나 변수로 저장 가능
  4. 간결성 : 익명 클래스처럼 잡다한 코드를 작성할 필요가 없음

람다 구성

(Sample a, Sample b) -> a.getSize().compareTo(b.getSize());

위와 같이 람다 표현식을 작성할 수 있다. 여기서 화살표 왼쪽에 있는 (Sample a, Sample b) 부분은 람다의 파라미터 부분입니다.

는 화살표로 람다의 파라미터와 바디를 구분합니다.

a.getSize().compareTo(b.getSize()); 는 람다 바디로 람다의 반환값을 표현하는 부분입니다.

람다 작성법

람다는 표현 스타일과 블록 스타일로 작성할 수 있습니다.

  1. 표현 : (param) → express
  2. 블록 : (param) → { state; }
(String s) -> s.size() 
(int a, int b) -> { System.out.println("Sample : "); 
System.out.println(a + b);
} 
() -> "Test" 
(String s) -> {return "Test";} 
(List<String> test) -> test.isEmpty()

위와 같이 람다의 기본 정의 및 작성법에 대해서 알아보았습니다.

람다는 함수형 인터페이스에서만 사용할 수 있는 표현식입니다.

반응형