평소 람다식을 Compartor에서 주로 사용하며 사용하고 있는데 이것에 대한 정확한 용법이나 장점을 모르고 쓰는 기분이라 이 블로그를 작성한다.
람다식 도입 배경
자바 8부터 도입된 람다식은 코드의 가독성과 간결성을 크게 향상시키며 함수형 프로그래밍의 문법을 자바에 도입했다.
람다식은 익명 함수(anonymous function)를 구현하는 방식으로, 코드의 중복을 줄이고 모듈화된 프로그래밍을 지원한다.
람다식의 개념
람다식(Lambda Expression)은 익명 함수의 한 형태로, 메서드나 함수를 간단한 식으로 표현할 수 있게 해준다. 기본 형태는 (매개변수) -> {문장}이며, 함수형 인터페이스를 구현할 때 주로 사용됩니다.
함수형 인터페이스는 단 하나의 추상 메서드만을 가지는 인터페이스를 말합니다.
//1
int add(int x, int y) {
return x + y;
}
//2
(int x, int y) -> {
return x + y;
};
//3
(x, y) -> {
return x + y;
};
//4
(x, y) -> x + y;
타입을 생략을 하더라도 알아서 컴파일 과정에서 추론을 한다.
public interface Comparable<T> {
int compareTo(T var1);
}
함수형 프로그래밍(Functional Programming)은 프로그래밍 패러다임 중 하나로, 수학적 함수의 개념을 기반으로 하는 선언적 프로그래밍 스타일이다. 함수형 프로그래밍에서는 무엇을 수행할 것인지에 대한 설명을 중심으로 코드를 작성하며, 상태와 부작용을 최소화하려고 한다. 이 접근 방식은 코드의 가독성과 재사용성을 높이고, 디버깅과 테스트를 쉽게 할 수 있다.