자바의 함수형 인터페이스 - 람다식

2023년 02월 26일

java

# Java# 람다식# 함수형 인터페이스

람다식이란?

자바 8에서 도입된 람다식은 익명클래스보다 더 간결하게 코드를 작성할 수 있게 해준다.

람다식이 도입되고 나서 핵심적으로 바뀐 것은 함수형 프로그래밍이다. 함수형 프로그래밍은 함수를 일급 객체(first-class -citizen)로 취급하는 프로그래밍 패러다임이다. 이를 통해 자바에서도 인자로 함수를 전달하고 반환하는 것들이 가능해졌다.

람다식은 어떤 인터페이스가 함수형 인터페이스의 형식에 맞다면 사용할 수 있다. 함수형 인터페이스란, 하나의 추상 메서드를 가지고 있는 인터페이스를 말한다.

@FunctionalInterface 어노테이션을 붙이면 컴파일러가 정확히 하나의 메서드를 가지고 있는지 검사해준다. 하지만 필수는 아니다. 붙이지 않고, 하나의 메서드만 있으면 사용할 수 있다.

@FunctionalInterface
public interface CarInterface {
    void drive();
}

주행 밖에 안되는 자동차 인터페이스를 하나 선언해보겠다.

CarInterface car = () => {
    System.out.println("부릉부릉");
}

위에서 보듯이, 람다식을 통해 인터페이스를 구현할 수 있다. 왜냐하면, 하나의 메서드를 가지고 있기 때문에 컴파일러에서 어떠한 메서드를 구현해야하는지 알 수 있기 때문이다.

참고자료

© 2025, 미나리와 함께 만들었음