객체 지향 프로그래밍은 클래스를 주로 사용해서 개발하고
함수형 프로그래밍은 함수를 주로 사용해 개발한다
함수형 프로그래밍이라고 꼭 함수만을 사용해서 개발해야 할까?
핵심은 어떻게 함수를 사용하냐에 달렸다고 생각한다.
함수형 프로그래밍은 자료 처리를 수학적 함수의 계산으로 취급하고, 상태 변경과 가변 데이터를 최소화하는 프로그래밍 패러다임이다.
즉, 일반적인 프로그래밍에서 사용하는 함수와 함수형 프로그래밍에서 말하는 함수는 그 역할과 특성에 차이가 있는 것이다.
내가 생각한 것은 함수형 프로그래밍의 핵심은 단순히 함수만을 많이 쓰는 게 아니라 함수형 프로그래밍의 특징인 불변성, 순수 함수, 참조 투명성 등을 기반으로 프로그램의 상태 변경을 최소화하려는 사고방식이자 프로그래밍 접근법이다.
쉽게 말해 클래스를 사용하더라도 함수형 프로그래밍의 원리와 특징을 지키면 객체지향과 함수형 그 사이의 경계를 허물어서 좋은 개발을 할 수 있다고 생각한다.