객체 지향 프로그래밍 은 필요한 데이터를 추상화 시켜 상태 와 행위 를 가진 객체를 생성 하고, 그 객체들 간의 유기적인 상호작용 을 통해 로직을 구성 하는 프로그래밍 방법이다.
함수형 프로그래밍 은 순수 함수를 조합하고 공유 상태 (shared state) , 변경 가능한 데이터 및 부작용 (side - effects) 을 피하여 프로그래밍하는 패러다임이다.
객체간의 연계성을 생각하기보다 는 함수를 이용해서 부작용(side - effects) 이 없도록 하는것이 함수형 프로그래밍의 특징이라고 할 수 있겠다.
조합 으로 이루어져있다.객체의 상태 에 따른 연계성이 존재하지 않기 때문에 부작용 (side - effects) 이 존재하지 않는다.객체지향 프로그래밍 과 달리 함수형 프로그래밍 은 상태를 배제 하여 부작용이 없게끔 동작한다. 하지만 프론트에서는 대부분 객체의 상태 에 따라 모델링 하기 때문에 상태 를 필요 로한다.