함수형프로그래밍란?

|

1) 함수형 프로그래밍이란?

  • 함수형 프로그래밍은 프로그램 패러다임중의 하나입니다. 절차지향 -> 객체지향 -> 함수지향 순으로 패러다임이 달라졌습니다.

2) 객체지향 프로그램과 비교

  • 객체지향 프로그래밍이 데이터형을 설계한후 데이터 형에 맞는 메서드를 붙여 가는 식이라면, 함수형 프로그래밍은 함수로 로직을 설계한 후 데이터 형에 맞는 메서드를 붙여 가는 식입니다.
  • 함수형 프로그래밍은 각기 다르게 생긴 데이터 형 또한 지원이 가능합니다. 때문에 하나의 함수가 처리 할 수 있는 데이터형이 끝이 없습니다
  • 함수형 프로그래밍에서는 객체지향처럼 user인지 comment인지 post인지는 상관이 없습니다
  • 모두 처리할 수 있는 아주 높은 다형성을 가진 함수를 만드는 방식으로 프로그래밍을 합니다
  • 객체지향처럼 계층구조의 상속이나 인스턴스 생성으로 기능을 공유하는게 아닌, 여러개의 함수를 조합해서 또다른 기능을 만들 수 있습니다.
  • 추상화의 정도가 매우 높기 때문에 데이터 형이 코드에 등장하지 않고, 데이터 구조에 종속되는 일이 거이 없습니다.
  • 이런점들 때문에 코드가 짧고 코드의 모양이 단순합니다.

3) 장점

  • 부작용이 없다
  • Thread-safe
  • 테스트가 편리하다
  • 로직에 집중할 수 있다

4) 단점

  • 기본적인 학습곡선이 높다, 객체지향에서 -> 함수지향으로 넘어가는게 쉽지 않다.
  • 인력이 부족하다

Comments