봄수의 연구실

Java의 Lambda - 🐥 카카오 테크 캠퍼스 본문

DEV/Java

Java의 Lambda - 🐥 카카오 테크 캠퍼스

berom 2023. 5. 2. 21:09

Java의 Lambda

람다 식순수 함수를 사용하는 프로그래밍 패러다임인 함수형 프로그래밍을 지원하는 방법으로 Java 8에 도입되었습니다.
람다 식을 사용하면 익명 함수(Lambda)를 간결하게 만들고 코드를 더 읽기 쉽게 만들 수 있습니다.

다음은 람다 식에 대한 몇 가지 핵심 사항입니다.

  1. 람다 식은 이름이 없는 익명 함수를 생성합니다.
  2. 0개, 1개 또는 여러 매개변수를 가질 수 있습니다.
  3. 매개변수가 하나뿐이고 그 데이터 유형이 유추되는 경우에는 괄호를 생략할 수 있습니다.
  4. 람다 식에 문장이 하나만 있는 경우 중괄호를 생략할 수 있습니다.

예시 조각 코드

  • 람다식으로 표현
(int x, int y) -> {return x+y;}
  • 매개 변수가 하나인 경우 자료형과 괄호 생략가능
str->{System.out.println(str);}
  • 매개변수가 두 개이상인 경우 괄호를 생략할 수 없음
x, y -> {System.out.println(x+y);}  //오류
  • 실행문이 한 문장인 경우 중괄호 생략 가능
str-> System.out.println(str);
  • 실행문이 한 문장이라도 return문(반환문)은 중괄호를 생략할 수 없음
str-> return str.length();  //오류
  • 실행문이 한 문장의 반환문인 경우엔 return과 중괄호를 모두 생략
(x, y) -> x+y;
str -> str.length;

Java의 람다 사용 방법 with Interface

@FunctionalInterface
public interface Calculator {
    int operate(int a, int b);
}
public class Main {
    public static void main(String[] args) {
        Calculator add = (a, b) -> a + b;
        Calculator multiply = (a, b) -> a * b;

        int result1 = add.operate(5, 3);
        int result2 = multiply.operate(5, 3);

        System.out.println("Addition Result: " + result1);
        System.out.println("Multiplication Result: " + result2);
    }
}

  • @FunctionalInterface : 람다에 사용하기 위한 인터페이스임을 명시하는 어노테이션

이 예제에서는 더하기 및 곱하기 연산을 위한 Calculator 인터페이스를 구현하기 위해 람다 식을 사용했습니다.
람다 식은 Calculator 유형인 addmultiply 변수에 할당됩니다.
그런 다음 ‘operate’ 메서드가 입력 값과 함께 이러한 변수에 대해 호출되고 결과가 인쇄됩니다.

즉, 람다 표현식 (a, b) -> a + b 및 (a, b) -> a * b는 각각 덧셈과 곱셈을 위한 계산기 인터페이스의 연산 메서드 구현을 제공합니다.

레퍼런스

부족한 점이나 잘못 된 점을 알려주시면 시정하겠습니다 :>

728x90

'DEV > Java' 카테고리의 다른 글

Java의 Reduce - 🐥 카카오 테크 캠퍼스  (0) 2023.05.02
Stream  (0) 2023.05.02
Java의 내부 클래스 - 🐥 카카오 테크 캠퍼스  (0) 2023.05.02
Interface의 활용 - 🐥 카카오 테크 캠퍼스  (0) 2023.04.28
Interface  (0) 2023.04.27