JAVA 람다식

Boaz Kang·2024년 5월 6일

cource2 - part.2 - ch03

자바 람다식

함수형 프로그래밍에서 사용되는 함수를 간결하게 표현하기 위한 방법 중 하나이다.
익명 함수의 한 형태로서, 메서드에 대한 구현을 간결하게 표현하는 방법이다.

함수형 인터페이스

단, 하나의 추상 메서드를 가진 인터페이스를 의미한다.
함수형 인터페이스는 @ FunctionalInterface어노테이션을 사용하여 표시 할 수 있다.
이 어노테이션은 선택 사항이지만, 컴파일러에게 해당 인터페이스가 함수형 인터페이스임을 알려주는 역할이다.

public class FunctionInterfaceTest implements MathOperation
{
   public static void main(String[] args) {
        MathOperation mo = new FunctionInterfaceTest();
        int result = mo.operation(10, 20);
        System.out.println("result = " + result); // 30
    }

    @Override
    public int operation(int x, int y) {
        return x+y;
    }
}
    public static void main(String[] args) {

        // MathOperation 인터페이스를 내부에 [익명 내부 클래스]로 구현해보자.
        // 인터페이스는 반드시 구현체가 필요하다. 그리고 객체로 생성 할 수 없다.
        MathOperation mo = new MathOperation() {
            @Override
            public int operation(int x, int y) {
                return 0;
            }
        };

        int result = mo.operation(10, 20);
        System.out.println("result = " + result);
    }

자바에서 함수형 인터페이스를 사용하는 이유

1. 람다 표현식 지원

✔ 이미 정의된 메서드를 직접 참조하여 람다 표현식을 더욱 간결하게 만들 수 있다. * 메서드 참조는 기존 메서드를 재사용하고 코드 중복을 줄이는데 도움이 된다. * 메서드 참조는 네가지 유형이 있다.
1) 정적(static) 메서드 참조: 클래스명::메서드명
2) 인터페이스 메서드 참조: 객체참조::메서드명
3) 특정 객체의 인스턴스 메서드 참조: 클래스명::메서드명
4) 생성자 참조: 클래스명::new

2. 메서드 참조

3. Stream API의 통합

4. 병렬 프로그래밍

5. 코드 재사용

profile
Just Do It

0개의 댓글