개요
자바 람다 표현식은 자바 8부터 추가된 기능으로, 함수형 인터페이스와 람다식으로 객체 지향 프로그래밍과 함수형 프로그래밍의 장점을 융합하여 더 간결하고 강력한 코드를 작성할 수 있는 기능이다. 람다표현식은 익명함수를 만들어 간결하고 유연한 프로그래밍을 가능하게 한다. 기존의 자바 프로그래밍 방식보다 더 간결하고 수행 속도가 빠르기 때문에 다양한 분야에서 많이 활용되고 있다.
(위 사진은 내용과 무관함 Pexels 제공 사진)
중점내용
1. 람다 표현식이란?
람다 표현식은 Java 8 부터 소개된 기능으로, 코드를 더 간결하게 표현할 수 있도록 도와주는 기능이다. 람다 표현식은 함수형 인터페이스를 일괄적으로 만들어 호출하는 방법이다. 람다 표현식은 다음과 같은 형태로 작성된다. (매개변수) -> { 실행문장 }. 함수형 인터페이스는 하나의 abstract 메소드만 가지고 있는 인터페이스로, 람다 표현식을 사용하여 이를 구현하게 된다. 람다 표현식은 인자로 받은 값을 가공하거나 연산하여 결과값을 반환하는 역할을 한다. 람다 표현식을 사용하면, 코드를 더 간결하고 가독성 있게 작성할 수 있다.
2. 함수형 인터페이스
함수형 인터페이스는 자바 8에서 새롭게 추가된 개념으로, 하나의 추상 메소드만을 가진 인터페이스를 말한다. 함수형 인터페이스는 메소드의 인자와 반환값에 따라 매개변수화되어 다양한 기능을 가질 수 있기 때문에 람다식과 함께 사용된다. 여기에는 기본형 인터페이스, 컬렉션 API, 리플랙션 API 등 다양한 종류가 있으며, 이런 함수형 인터페이스를 이용하면 람다식을 이용하여 코드를 간결하고 가독성 있게 작성할 수 있다.
3. 람다 표현식 사용법
람다 표현식을 사용하는 방법은 간단합니다. 함수형 인터페이스와 람다식의 시그니처가 일치하면 인수로 람다 표현식을 넘길 수 있습니다. 람다 표현식은 함수 몸체를 나타내는 작은 문장으로 구성됩니다. 람다 표현식은 인수를 받고, 인수를 사용하여 연산을 수행하고, 결과를 반환합니다. 람다 표현식은 어떤 타입의 매개변수를 받을지, 어떤 타입의 값을 반환할지 그리고 실제로 어떤 연산을 수행할지를 알려주어야 합니다. 람다 표현식을 사용하면 코드를 짧게 줄일 수 있고, 가독성이 높아집니다. 또한, 람다 표현식을 사용하면 멀티스레드 기반의 코드를 보다 쉽게 작성할 수 있고, 간결하고 효율적인 프로그래밍을 할 수 있습니다.
4. 자바 람다 표현식 예제
람다 표현식을 통해 자바 프로그래밍을 더욱 간결하고 효율적으로 할 수 있습니다. 람다 표현식의 기본 구조는 다음과 같습니다. (매개변수 목록) -> {명령문 목록} 입니다. 특히 이 예제는 람다 표현식을 이용해 메서드를 매개변수로 받는 경우의 예제입니다.
String -> int형의 파라미터를 받는 메서드를 가리킵니다.
(String s) -> s.length()
람다 표현식을 이용해 인터페이스 Runnable의 run 메소드를 구현하는 경우도 있습니다.
() -> System.out.println(“Hello World!”);
5. 람다 표현식의 장점
람다 표현식은 코드 간략화와 엄격한 타입 검사를 통해 코드의 오류를 줄여 개발 생산성을 높이는 데 도움을 준다. 기존의 인터페이스를 사용할 때 매개 변수들을 감싸는 복잡한 코드를 제거하고 람다 표현식을 사용하면 더 간결한 코드를 작성할 수 있다. 또한 람다 표현식을 사용하면 스레드로 실행되는 멀티 스레드 프로그램에서 작업을 수행하는데 도움을 준다. 멀티 스레드 프로그램에서 람다 표현식을 사용하면 스레드 관리를 간편하게 할 수 있어 개발 비용을 줄일 수 있다. 또한 람다 표현식을 사용하면 코드를 더 간결하게 작성할 수 있어 코드를 읽고 이해하기도 쉬워진다.
(위 사진은 내용과 무관함 Pexels 제공 사진)
마침말
자바 람다 표현식은 함수형 프로그래밍을 위한 강력한 기능 중 하나입니다. 람다 표현식은 함수형 인터페이스를 기반으로 만들어진 익명 함수로 작성할 수 있습니다. 이는 단순하고 짧은 코드로 복잡한 로직을 간단하게 작성할 수 있게 해줍니다. 람다 표현식은 함수형 인터페이스가 필요한 곳 모두에 사용할 수 있습니다. 람다 표현식은 스트림 및 병렬 처리를 간소화하고 코드를 간결하게 만들 수 있기 때문에 함수형 프로그래밍을 더 효율적으로 만들 수 있습니다.
함께 보면 좋은 영상
[자바 중급] 람다식 기본문법