본문 바로가기

Java

[Java] 람다식의 개념, 문법

 

1. 자바의 람다식은 왜 등장했을까?

람다식은 주로 코드를 간결하게 작성하고 함수형 프로그래밍을 지원하기 위해 등장했다. 기존의 자바 코드에서는 익명 클래스를 사용하여 함수형 인터페이스를 구현할 수 있었지만, 이는 코드가 상당히 길어지고 가독성이 떨어지는 문제가 있었다. 람다식은 이러한 문제를 해결하기 위해 자바 8에서 도입되었다.

2. 람다식과 익명 클래스는 어떤 관계가 있을까? - 람다식의 문법은 어떻게 될까?

람다식은 익명 함수의 한 형태로 볼 수 있다. 익명 클래스는 인터페이스를 구현하는 클래스의 인스턴스를 생성할 때 사용되고, 람다식은 함수형 인터페이스의 구현을 간결하게 표현하는 방법이다. 즉, 람다식은 익명 클래스를 사용하여 함수형 인터페이스를 구현하는 것보다 더 간단하고 직관적인 문법을 제공한다.

 

또한, 람다식을 사용하는 인터페이스에는 @FunctionalInterface 애노테이션을 붙일 수 있다. 이는 해당 인터페이스가 함수형 인터페이스임을 명시적으로 나타내는 역할을 한다. 람다식은 주로 스트림 API와 함께 사용되며, 메소드 레퍼런스를 통해 간결한 코드를 작성할 수 있다.

 

람다식의 문법은 다음과 같다.

(매개변수) -> {실행 코드}

예를 들어, 두 개의 정수를 더하는 람다식은 다음과 같이 표현할 수 있다.

(int a, int b) -> { return a + b; }

 

이때, 매개변수 목록과 실행 코드 사이에는 화살표(->)를 사용하여 구분한다. 만약 실행 코드가 한 줄인 경우에는 중괄호({})와 return 키워드를 생략할 수 있다. 위의 예제는 한 줄의 코드이므로 중괄호와 return 키워드를 생략하여 아래와 같이 간단하게 표현할 수도 있다.

(int a, int b) -> a + b