inblog logo
|
programmer
    Java

    람다식

    [Java] 람다식, 메소드 참조, 함수형 인터페이스
    Jan 08, 2024
    람다식
    Contents
    함수형 인터페이스
    ⚡
    람다식(lambda expression)은 나중에 실행될 목적으로 다른 곳에 전달될 수 있는 코드 블록입니다. 람다식을 이용하면 함수가 필요한 곳에 간단히 함수를 보낼 수 있습니다.

    람다식 예

    // 이전의 방법 new Thread(new Runnable() { @Override public void run() { System.out.println("스레드 실행"); } }).start();
    // 람다식을 이용한 방법 new Thread( () -> System.out.println( "스레드 실행") ).start();
     
    위와 같이 람다식을 이용하면 코드를 간단하게 작성 가능하다.

    람다식 vs 메소드 참조

    익명 클래스를 람다식으로 변경하면 10줄 → 1줄로 소스의 크기를 줄일 수 있습니다. 하지만 메소드 참조로 변경한다고 해도 소스의 크기는 거의 줄어들지 않습니다. 다만 스트림 API를 사용할 때는 람다식보다 메소드 참조가 더 편리합니다.

    함수형 인터페이스

    💡
    Java에서 함수를 표현하기 위한 개념으로, 람다 표현식과 함께 주로 사용됩니다.

    Predicate 인터페이스

    단일 값을 매개 변수로 사용하고 true또는 false를 반환하는 함수
    Predicate predicate = (v) -> v != null;
    return이 boolean으로 있고, 변수 1개

    Supplier 인터페이스

    일종의 값을 제공하는 함수를 나타내는 함수형 인터페이스
    Supplier<Integer> supplier = () -> new Integer((int) (Math.random() * 100));
    return이 있고 0개의 매개 변수

    Consumer 인터페이스

    값을 반환하지 않고 값을 소비하는 함수를 나타내는 함수형 인터페이스
    Consumer<Integer> consumer = (value) -> System.out.println(value);
    return이 없고 1개의 매개 변수

    BiFunction 인터페이스

    두 개의 인수를 취하고 하나의 객체를 반환하는 함수형 인터페이스
    BiFunction<Integer, Integer, Integer> func = (x1, x2) -> x1 + x2;
    Integer result = func.apply(1, 2);
    return이 있고 2개의 매개 변수

    Share article

    programmer

    RSS·Powered by Inblog