• 자바에서 함수형 프로그래밍을 구현하는 방식
    • 클래스를 생성하지 않고 함수의 호출만으로 기능을 수행한다.
  • 함수형 프로그래밍
    1. 순수 함수를 구현하고 호출함으로써 외부 자료에 부수적인 영향을 주지 않고 매개 변수만을 사용하도록 만든 함수
    2. 즉, 함수를 기반으로 구현한다.
    3. 입력받은 자료를 기반으로 수행되고 외부에 영향을 미치지 않으므로 병렬 처리 등에 가능하다.
    4. 그래서, 안정적인 확장성 있는 프로그래밍 방식으로 불린다.
  • 람다 표현식 만들기
    1. 매개 변수와 매개 변수를 활용한 실행문으로 구현
    2. (매개변수) -> { 실행문; }
      1. 함수 이름, 반환형을 없애고 ->를 사용, { } 안이 실행문을 의미한다.
    3. 작성 시 유의 사항
      1. 매개 변수가 하나인 경우에 자료형과 괄호를 생략할 수 있다.
      2. 매개 변수가 두 개인 경우에는 괄호를 생략할 수 없다.
      3. 중괄호 안의 구현부가 한 문장인 경우에는 중괄호를 생략할 수 있다.
      4. 중괄호 안의 구현부가 return문을 포함하면 중괄호를 생략할 수 없다.
  • 메소드 참조(method reference)
    • 함수형 인터페이스를 람다식이 아닌 일반 메소드를 참조시켜 선언하는 방식이다.
      • 매개 변수 타입, 개수, 반환형 모두 일치할 때 사용 가능하다.
    • 람다 표현식에서 불필요한 매개변수를 제거하고 사용할 수 있도록 만들어준다.
    • '::' 기호를 사용하여 표현한다.
      • 클래스명 :: 메소드명 or 참조변수명 :: 메소드명
    • ex) Math 함수를 사용한다고 생각해보자.
      1. (base, exponent) -> Math.pow(base, exponent); // 매개 변수 타입, 개수, 반환형 모두 일치
      2. Math::pow 형태로 사용할 수 있다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

'백엔드 > JAVA' 카테고리의 다른 글

상수, 리터럴, enum  (0) 2021.08.31
스트림 API  (0) 2021.08.22
제네릭(Generic) 문법과 Optional 클래스  (0) 2021.08.22
배열  (0) 2021.08.21
반복문(while문, for문)  (0) 2021.08.21