함수형 프로그래밍

명령형 프로그래밍, 선언형 프로그래밍

1급 시민

1급 시민의 조건

  1. 함수/매서드의 매개변수로서 전달할 수 있는가
  2. 함수/매서드의 반환값이 될 수 있는가
  3. 변수에 담을 수 있는가

함수형 인터페이스(Functional Interface)

Function 인터페이스: 인자 1개

Untitled

T(타입)을 받아서 R(리턴)로 반환

함수를 object 타입으로 다룰 수 있지만 거추장스러움 → 람다 사용

BiFunction 인터페이스: 인자 2개

Untitled

2개의 인자 T(타입), U(2번째 인자)을 받아서 R(리턴)로 반환

TriFunction 인터페이스: 인자 3개, 창작 인터페이스

인자 3개부터는 인터페이스를 직접 구현해야 함

Untitled

Untitled

인터페이스 선언에 작성한 <T,U,V,R> 부분은 사용할 때 타입을 넣어줌