인프런 워밍업 과제 BE - 3일차 과제
자바의 람다식은 왜 등장했을까?
👉 첫 번째 이유로 함수형 프로그래밍 지원 : 람다식은 함수형 프로그래밍의 핵심 개념 중 하나인 익명 함수를 지원합니다. 람다식을 지원함으로써 자바에서도 함수형 프로그래밍의 여러 장점을 활용 할 수 있게 되었습니다. 함수형 프로그램은 코드를 간결하고 가독성 있게 작성할 수 있으며, 병렬 처리와 같은 다양한 형태의 최적화를 쉽게 적용할 수 있는 장점이 있습니다.
👉 두 번째 이유로 컬렉션 처리 편의성 : 람다식은 컬렉션 처리를 보다 편리하게 할 수 있습니다. 똑같이 자바8부터 도입된 스트림 API에서는 람다식을 활용하여 간단하게 컬렉션을 처리할 수 있습니다.
👉 세 번째 이유로 코드 간결성 : 람다식을 사용하면 코드의 양을 줄여 더 간결하게 작성할 수 있습니다.
결국, 람다식은 자바의 기능과 성능을 향상 시키고, 코드를 더 간결하고 가독성 있게 만들어 주기 위해서 등장했습니다.
람다식과 익명 클래스는 어떤 관계가 있을까?
람다식과 익명 클래스는 익명 함수를 생성하는 방법 중 하나라는 유사성이 있지만, 사용하는 방식과 구현하는 방식에는 차이가 있어 보입니다.
먼저 구현 방식에선 람다식의 경우 람다식은 함수형 인터페이스의 인스턴스를 생성하는 방법 중 하나입니다. 람다식은 메서드의 몸체를 간결하게 표현할 수 있도록 도와주는 함수의 익명 구현체입니다.
익명 클래스의 경우는 인터페이스나 추상 클래스의 익명 구현체를 생성하는 방법입니다. 클래스 선언과 동시에 인스턴스를 생성하여 사용할 수 있습니다.
그 다음 문법에선, 람다식의 경우, 매우 간결합니다. 파라미터 선언부, 화살표 (->), 메서드 몸체로 구성되어있고, 익명 클래스의 경우 클래스 선언과 동일한 문법을 가지고 있지만, 클래스 이름을 생략하고 인스턴스를 생성할 때 사용합니다.
사용 용도에서도 다른데, 람다식에선 주로 함수형 인터페이스의 인스턴스를 생성하는데 사용됩니다.
익명클래스는 주로 인스턴스나 추상 클래스를 구현한 객체를 필요로 할 때 사용됩니다.
람다식의 문법은 어떻게 될까?
public class LambdaExample {
public static void main(String[] args) {
List<String> fruits = Arrays.asList("Apple", "Banana", "Orange", "Grapes");
// 람다식을 이용한 각 요소 출력
fruits.forEach(fruit -> System.out.println(fruit));
}
}
코드는 GPT씨의 설명으로 대신하겠습니다. 과일 리스트들을 담은 fruits 변수에 forEach 메서드를 이용해 각 요소를 출력하는데 이 때 람다식을 적용하여 출력합니다.
댓글을 작성해보세요.