함수형 프로그래밍(Fuctional Programming)

림예·2024년 5월 11일

CS

목록 보기
3/19

순수 함수를 조합하고 공유 상태, 변경 가능한 데이터 및 부작용을 피해 소프트웨어를 만드는 프로세스

'선언형' 프로그래밍으로, 애플리케이션의 상태는 순수 함수를 통해 전달된다.

애플리케이션의 상태가 일반적으로 공유되고 객체의 메서드와 함께 배치되는 OOP와는 대조되는 프로그래밍 방식

  • 명령형 프로그래밍(절차지향, 객체지향)
    상태와 상태를 변경시키는 관점에서 연산을 설명하는 방식
    알고리즘을 명시하고, 목표는 명시하지 않음

  • 선언형 프로그래밍
    How보다는 What을 설명하는 방식 (어떻게보단 무엇을)
    알고리즘을 명시하지 않고 목표만 명시함


명령형 프로그래밍은 어떻게 할지 표현하고, 선언형 프로그래밍은 무엇을 할 건지 표현한다.



Java에서 활용할 수 있는 함수형 프로그래밍

  • 람다식
  • Stream API
  • 함수형 인터페이스
// stream API를 이용한 방식
myList.stream()
      .filter(s -> s.startsWith("c"))
      .map(String::toUpperCase)
      .forEach(System.out::println);








profile
Think big 🌏

0개의 댓글