함수형프로그래밍란?
07 Mar 2019
|
함수형프로그래밍
1) 함수형 프로그래밍이란?
- 함수형 프로그래밍은 프로그램 패러다임중의 하나입니다. 절차지향 -> 객체지향 -> 함수지향 순으로 패러다임이 달라졌습니다.
2) 객체지향 프로그램과 비교
- 객체지향 프로그래밍이 데이터형을 설계한후 데이터 형에 맞는 메서드를 붙여 가는 식이라면, 함수형 프로그래밍은
함수로 로직을 설계한 후 데이터 형에 맞는 메서드를 붙여 가는 식입니다.
- 함수형 프로그래밍은 각기 다르게 생긴 데이터 형 또한 지원이 가능합니다. 때문에 하나의 함수가 처리 할 수 있는 데이터형이 끝이 없습니다
- 함수형 프로그래밍에서는 객체지향처럼 user인지 comment인지 post인지는 상관이 없습니다
- 모두 처리할 수 있는 아주 높은 다형성을 가진 함수를 만드는 방식으로 프로그래밍을 합니다
- 객체지향처럼 계층구조의 상속이나 인스턴스 생성으로 기능을 공유하는게 아닌, 여러개의 함수를 조합해서 또다른
기능을 만들 수 있습니다.
- 추상화의 정도가 매우 높기 때문에 데이터 형이 코드에 등장하지 않고, 데이터 구조에 종속되는 일이 거이 없습니다.
- 이런점들 때문에 코드가 짧고 코드의 모양이 단순합니다.
3) 장점
- 부작용이 없다
- Thread-safe
- 테스트가 편리하다
- 로직에 집중할 수 있다
4) 단점
- 기본적인 학습곡선이 높다, 객체지향에서 -> 함수지향으로 넘어가는게 쉽지 않다.
- 인력이 부족하다
Comments