람다식

박종원·2024년 10월 20일

평소 람다식을 Compartor에서 주로 사용하며 사용하고 있는데 이것에 대한 정확한 용법이나 장점을 모르고 쓰는 기분이라 이 블로그를 작성한다.

  1. 람다식 도입 배경
    자바 8부터 도입된 람다식은 코드의 가독성과 간결성을 크게 향상시키며 함수형 프로그래밍의 문법을 자바에 도입했다.
    람다식은 익명 함수(anonymous function)를 구현하는 방식으로, 코드의 중복을 줄이고 모듈화된 프로그래밍을 지원한다.

  2. 람다식의 개념
    람다식(Lambda Expression)은 익명 함수의 한 형태로, 메서드나 함수를 간단한 식으로 표현할 수 있게 해준다. 기본 형태는 (매개변수) -> {문장}이며, 함수형 인터페이스를 구현할 때 주로 사용됩니다.
    함수형 인터페이스는 단 하나의 추상 메서드만을 가지는 인터페이스를 말합니다.

  1. method to lamda
    함수를 람다식으로 바꾸기
//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;

타입을 생략을 하더라도 알아서 컴파일 과정에서 추론을 한다.

  1. Interface를 람다식으로
    위와 같이 Method를 람다식으로 바꾸는 방법이 존재하지만, 인터페이스를 람다식으로 바꾸는 방법이 존재한다. (단 Interface가 딱 하나의 추상 메소드가 선언된 인터페이스여야만 한다.
    대표 적으로 Comparable이 있다.
public interface Comparable<T> {
    int compareTo(T var1);
}
  1. 람다식의 장점
  • 코드의 간결성이 올라간다.
  • 코드의 가독성이 올라간다.
  • 함수형 프로그래밍을 구현할 수 있다.

함수형 프로그래밍이란?

함수형 프로그래밍(Functional Programming)은 프로그래밍 패러다임 중 하나로, 수학적 함수의 개념을 기반으로 하는 선언적 프로그래밍 스타일이다. 함수형 프로그래밍에서는 무엇을 수행할 것인지에 대한 설명을 중심으로 코드를 작성하며, 상태와 부작용을 최소화하려고 한다. 이 접근 방식은 코드의 가독성과 재사용성을 높이고, 디버깅과 테스트를 쉽게 할 수 있다.

핵심개념

  1. 순수함수
  2. 불변성
  3. 고차 함수(Higher-Order Function)
  4. 함수의 일급 시민(First-Class Citizen)
  5. 선언형 프로그래밍(Declarative Programming)

0개의 댓글