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