JAVA, Kotlin
람다 Lambda 란?
UDUD
2021. 6. 23. 16:46
반응형
람다 표현식이란?
JAVA8에서 나온 대표적인 새로운 기능으로, 함수형 프로그래밍에서 사용 가능한 이름이 없는 익명 함수
입니다. 이전 JAVA버전에서 할 수 없었던 일을 할 수 있도록 만들지는 않지만 동적 파라미터등을 이용할 때 코드를 간결하게 작성함으로써 유연한 코드 작성이 가능합니다.
람다 특징
- 익명성 : 보통 메서드와 다르게 이름이 없는 익명 표현식
- 함수형 : 특정 클래스에 종속되지 않는 '함수' 지만, 보통 메서드처럼 파라미터, 바디, 반환형식, 예외 리스트를 포함
- 전달 : 람다 표현식을 파라미터나 변수로 저장 가능
- 간결성 : 익명 클래스처럼 잡다한 코드를 작성할 필요가 없음
람다 구성
(Sample a, Sample b) -> a.getSize().compareTo(b.getSize());
위와 같이 람다 표현식을 작성할 수 있다. 여기서 화살표 왼쪽에 있는 (Sample a, Sample b)
부분은 람다의 파라미터 부분입니다.
→
는 화살표로 람다의 파라미터와 바디를 구분합니다.
a.getSize().compareTo(b.getSize());
는 람다 바디로 람다의 반환값을 표현하는 부분입니다.
람다 작성법
람다는 표현 스타일과 블록 스타일로 작성할 수 있습니다.
- 표현 : (param) → express
- 블록 : (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()
위와 같이 람다의 기본 정의 및 작성법에 대해서 알아보았습니다.
람다는 함수형 인터페이스에서만 사용할 수 있는 표현식입니다.
반응형