Java

함수형 인터페이스와 람다 표현식

Namlulu 2023. 7. 6. 00:38
728x90

함수형 인터페이스

- 추상 메서드를 딱 하나만 가지고 있음

- Single Abstract method 인터페이스

- @FunctionInterface 어노테이션을 가지고 있는 인터페이스

@FunctionalInterface
public interface RunSomething {
    int doIt(int num);
}

 

람다 표현식

- 함수형 인터페이스의 인스터를 만드는 방법으로 쓰일 수 있음

- 코드 줄이기 가능

- 메소드의 매개변수, 리턴 타입, 변수를 만들어 사용 가능

public class Foo {
    public static void main(String[] args) {
        RunSomething runSomething = num -> num + 10;
    }
}

 

자바에서 함수형 프로그래밍

- 함수를 First class object로 사용할 수 있음

- 순수 함수 (사이드 이펙트가 없으며 상태가 없음)

- 고차 함수 (함수가 함수를 매개변수로 받거나 리턴 가능)

- 불변성

 

 

300x250