Notice
Recent Posts
Recent Comments
Link
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Tags more
Archives
Today
Total
관리 메뉴

어? 이게 되네

자바 8 - 함수형 인터페이스와 람다 표현식 1 본문

JAVA

자바 8 - 함수형 인터페이스와 람다 표현식 1

토끼귀에진주귀걸이 2022. 12. 18. 18:42

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

  • 추상 메소드를 딱 하나만 가지고 있는 인터페이스
  • 즉, SAM(Single Abstract Method) 인터페이스
  • @FunctionalInterface 어노테이션을 가지고 있는 인터페이스

람다 표현식 (Lambda Experssions)

  • 함수형 인터페이스의 인스턴스를 만드는 방법으로 쓰일 수 있다.
  • 코드를 줄일 수 있다.
  • 메소드 매개변수, 리턴 타입, 변수로 만들어 사용할 수도 있다.

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

  • 함수를 First class object로 사용할 수 있다.
  • 순수 함수 (Pure function)
    • 사이드 이펙트 만들 수 있다. (함수 밖에 있는 값을 변경하지 못한다.)
    • 상태가 없다. (함수 밖에 정의되어 있는)
  • 고차 함수 (High-Order Function)
    • 함수가 함수를 매개변수로 받을 수 있고 함수를 리턴할 수도 있다.
  • 불변성

Q. 함수형 프로그래밍을 지향하는 이유는 재사용성을 높이기 위함? => 얼추 맞음 그냥 더 빨리 쉽고 간편하게 버그 적은 코드를 작성하기 위해서