자바스크립트 ) OOP vs FP

Jeong-Taek·2022년 10월 24일
0

OOP란?

OOP(Object Oriented Programming)는 class와 object에 기반한 프로그래밍 패러다임이다.
OOP는 관련된 데이터끼리 묶어서 class를 형성하고 그 안에서 object instance를 만듬으로써 프로그램을 디자인 해준다.

장점
1. 코드의 재사용률이 높음
2. 코드를 간결하게 함으로 유지보수가 쉬움
3. 데이터를 안전하게 보존시킬 수 있다.

단점
1. 설계 이해도가 높아야 하므로 개발에 많은 시간이 소모됨.
2. 객체지향언어는 대체적으로 실행속도가 느림.

FP란?

FP(Functional Programming)은 side effect(부작용)이 없는 순수 함수를 구현함으로 프로그램을 디자인 한다.
여러개의 작은 함수를 엮어 하나의 큰 함수를 만들고 불변성을 지킨다.

장점
1. 높은 수준의 추상화를 제공
2. 함수 단위의 코드 재사용성이 증가함
3. 디버깅이 쉬움
4. 불변성을 지향하기에 동작을 예측하기 쉬움.

단점
1. 순수함수를 구현하기에 코드 가독성이 좋지 않음
2. 함수형 프로그래밍에서는 반복문을 for문이 아닌 재귀를 통해 이루어짐
3. 순수함수를 조합하는 것은 쉽지 않음

0개의 댓글