OOP vs FP

진성·2022년 5월 25일
0

자바스크립트

목록 보기
19/23

OOP

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

장점

  • 코드의 재사용률이 높다.
  • 코드를 간결하게 함으로 유지보수가 쉽다.
  • 데이터를 안전하게 보존시킬 수 있다.

단점

  • 설계 이해도가 높아야 하므로 개발에 많은 시간이 소모된다.
  • 객체지향언어는 대체적으로 실행속도가 느리다.

FP

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

장점

  • 높은 수준의 추상화를 제공한다.
  • 함수 단위의 코드 재사용성이 증가한다.
  • 디버깅이 쉽다.
  • 불변성을 지향하기에 동작을 예측하기 쉽다.

추상화는 공통된 기능을 하나로 묶는 것을 의미하고 동작, 기능 자체에 중점을 둔다.

단점

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

출처 : Koras02코딩웹, kingmo.log

profile
풀스택 진행중...

0개의 댓글