함수형 프로그래밍

theonde·2022년 8월 19일
0

일급객체

함수는 함수를 반환할 수 있다.
함수는 함수를 매개변수로 받을 수 있다.
함수를 변수로 선언할 수 있다.

모든 일급 객체는 함수의 실질적인 매개변수가 될 수 있다.
모든 일급 객체는 함수의 반환값이 될 수 있다.
모든 일급 객체는 할당의 대상이 될 수 있다.
모든 일급 객체는 비교 연산(==, equal)을 적용할 수 있다.

순수 함수

사이드 이팩트가 없다. (함수 밖에 있는 값을 변경하지 않는다.)

상태가 없다. (함수 밖에 있는 값을 사용하지 않는다.)

함수 밖에 있는 값을 참조하거나, 변경해선 안된다. (상수제외)

오로지 함수 내부에서 쓰는 값, 함수가 전달받은 파라미터만 써야한다.

자바 함수형 인터페이스

함수형 인터페이스

  • 추상 메서드를 하나만 가지고 있는 인터페이스 (static, default메서드 제외)

  • 이 인터페이스가 함수형 인터페이스 임을 알리는 자바 표준 어노테이션인 @FunctinalInterface가 있다.

  • @FunctinalInterface는 함수형 인터페이스임을 선언하는 어노테이션이다.

  • @FunctinalInterface을 가지고 있는 인터페이스에서 2개 이상의 추상메서드를 선언하게되면 컴파일에러가 발생한다.

자주 사용하는 함수형 인터페이스

java.util.function 패키지

Function<T, R>
BiFunction<T, U, R>
Consumer<T>
Supplier<T>
Predicate<T>
UnaryOperator<T>
BinaryOperator<T>
profile
개발자ㅋ.ㅋ

0개의 댓글