SeouliteLab

[Java/자바] 람다식과 익명 함수의 차이점 본문

프로그래밍

[Java/자바] 람다식과 익명 함수의 차이점

Seoulite Lab 2024. 3. 8. 09:19

람다식(Lambda Expression)

람다식은 익명 함수를 생성하기 위한 축약된 형태의 표현입니다. 함수를 간결하게 표현할 수 있도록 도와줍니다.

익명 함수(Anonymous Function)

익명 함수는 이름이 없는 함수로, 함수를 변수에 할당하거나 다른 함수에 전달하는 데 사용됩니다.

람다식과 익명 함수의 차이점

1. 문법: 람다식은 간결한 형태로 작성되며, 화살표(`->`)를 사용하여 파라미터와 메소드 본문을 구분합니다. 익명 함수는 기존의 메소드와 동일한 문법을 사용합니다.

2. 타입 유추: 람다식은 컴파일러가 타입을 유추할 수 있기 때문에 보통 파라미터의 타입을 생략할 수 있습니다. 익명 함수는 보통 명시적으로 타입을 지정해야 합니다.

3. 인터페이스 요구사항: 람다식은 함수형 인터페이스(Functional Interface)를 만족해야 합니다. 익명 함수는 함수형 인터페이스를 구현한 클래스의 인스턴스입니다.

람다식 예제

(int a, int b) -> a + b
(String s) -> System.out.println(s)

익명 함수 예제

new BinaryOperator<Integer>() {
    @Override
    public Integer apply(Integer a, Integer b) {
        return a + b;
    }
}
new Consumer<String>() {
    @Override
    public void accept(String s) {
        System.out.println(s);
    }
}