티스토리 뷰
728x90
반응형
람다식(Lambda Expression)은 자바 8부터 도입된 기능으로, 간단하게 말해서 익명 함수라고 할 수 있습니다.
즉, 이름이 없는 함수를 말하며, 주로 코드의 간결함과 가독성을 높이기 위해 사용됩니다.
자바에서 람다식을 사용하면 불필요한 코드 작성을 줄이고, 함수형 프로그래밍의 개념을 도입할 수 있게 됩니다.
(매개변수) -> { 실행문 }
// 0. 기존 익명 클래스 사용 방식
Runnable runnable = new Runnable() {
@Override
public void run() {
System.out.println("Hello, World! clasic type");
}
};
// 1. 기존 익명 클래스 방식 호출
// 예상 출력 = Hello, World! clasic type
runnable.run();
// 2. 람다식 사용
// 예상 출력 = Hello, World! lamda type
Runnable runnableLambda = () -> System.out.println("Hello, World! lamda type");
결국 람다식(Lambda Expression)은 0번과 1번의 과정을 함축적으로 표현 함으로써 여러가지 장점을 가지게 된다.
- 불필요한 코드가 줄어듦.
- 병렬 처리와 같은 복잡한 작업을 쉽게 표현할 수 있음.
하지만, 람다식을 사용하기 위해서는 함수형 인터페이스가 필요합니다.
자바에서 함수형 인터페이스란
단 하나의 추상 메서드를 가진 인터페이스로, 이 인터페이스를 구현할 때 람다식을 사용할 수 있습니다.
@FunctionalInterface
public interface MyFunctionalInterface {
void myMethod(); // 단 하나의 추상 메서드
}
MyFunctionalInterface func = () -> {
System.out.println("람다식으로 구현된 메서드");
};
func.myMethod(); // 출력: 람다식으로 구현된 메서드
기본 제공 함수형 인터페이스 (자바 8 이후):
자바 8부터는 java.util.function 패키지에 여러 가지 기본 제공 함수형 인터페이스가 포함되어 있습니다. 예를 들어:
Function<T, R>: 입력값 T를 받아 결과 R을 반환하는 함수
Predicate<T>: 입력값 T를 받아 참 또는 거짓을 반환하는 함수
Consumer<T>: 입력값 T를 받아 사용하고 반환 값이 없는 함수
이런 기본 제공 함수형 인터페이스를 통해 미리 정의된 함수 없이도 쉽게 람다식을 사용할 수 있습니다.
https://scshim.tistory.com/287
728x90
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- error-java
- java web-mvc
- 람다식(lambda expression)
- java-개발 환경 설정하기
- System.Diagnostics
- 메이븐(maven)
- 표현 언어(expression language)
- 진수 변환
- async
- MainActor
- jsp 오픈 소스
- 제품 등록
- jstl(java standard tag library)-core
- jstl(java standard tag library)
- .submit()
- system.io
- 스프링 프레임워크(spring framewordk)
- REST API
- java.sql
- 스프링 시큐리티(spring security)
- 스프링 시큐리티(spring security)-http basic 인증
- 스프링 프레임워크(spring framework)
- 특정 문자를 기준으로 자르기
- await
- 인텔리제이(intellij)
- In App Purchase
- java 키워드 정리
- 상품 등록
- nl2br
- 문자 자르기
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함