# 자바 람다식(lambda):
Java 8부터 도입된 기능으로, 함수형 프로그래밍 스타일을 지원하는 것이 주요 목적입니다. 람다식은 익명 함수의 형태로, 메서드의 매개변수로 전달하거나 변수에 할당할 수 있습니다. 이것은 코드를 더 간결하고 가독성 있게 만들어주며, 병렬 처리와 다양한 자바 라이브러리와 API와 통합할 때 매우 유용합니다.
람다식의 구조는 다음과 같습니다:
(매개변수) -> { 실행 코드 블록 }
- `(매개변수)`: 람다 표현식에서 사용할 매개변수를 정의합니다. 매개변수가 없을 경우, 빈 괄호 `()`를 사용합니다.
- `->`: 람다 화살표 연산자로, 매개변수와 실행 코드 블록을 구분합니다.
- `{ 실행 코드 블록 }`: 람다 표현식에서 실행될 코드 블록을 정의합니다.
예시 코드를 통해 람다식을 보겠습니다. 아래는 리스트의 요소를 정렬하는 예제입니다.
List<String> names = Arrays.asList("Alice", "Bob", "Charlie", "David");
// 람다식을 사용하여 문자열 길이로 정렬
names.sort((str1, str2) -> Integer.compare(str1.length(), str2.length()));
// 정렬된 결과 출력
names.forEach(System.out::println);
위 코드에서 람다식 `(str1, str2) -> Integer.compare(str1.length(), str2.length())`는 문자열의 길이를 기준으로 비교하는 함수를 나타냅니다. 이것은 `sort` 메서드에 전달되어 문자열을 정렬합니다. `forEach` 메서드를 사용하여 정렬된 결과를 출력합니다.
람다식은 함수형 인터페이스를 구현하는 데 주로 사용되며, 이는 단 하나의 추상 메서드를 가진 인터페이스입니다. 자바에서는 기본적으로 제공되는 함수형 인터페이스도 많이 있으며, 직접 사용자 정의 함수형 인터페이스를 만들 수도 있습니다. 함수형 인터페이스를 사용하면 람다식을 더 효과적으로 활용할 수 있습니다.
'Programming > 자바(java) - Web, Mobile' 카테고리의 다른 글
자바(java)/ 보충 1(객체, 스레드, 컬렉션스) (0) | 2023.09.02 |
---|---|
Maven 과 Gradle (0) | 2023.08.15 |
자바(java)/ 컬렉션 프레임워크(Collection: List, Set, Map, Stack, Queue)k (0) | 2023.07.14 |
자바(java)/ 스레드(Thread) (0) | 2023.07.14 |
자바(java)/ 제네릭(generic) (0) | 2023.07.14 |