OOP vs FP

홍성표·2022년 6월 2일
0

OOP

  • OOP 는 Object Oriented Programming의 약자로 객체지향 프로그래밍을 뜻한다.
  • OOP는 객체지향 프로그래밍이란 프로그램을 단순히 데이터와 처리방법으로 나눈 것이 아니라, 객체(object)라는 기본 단위로 나누고 이들의 상호작용으로 서술하는 방식이다.
  • 객체란 하나의 역할을 수행하는 메소드와 변수의 묶음으로 봐야한다.

장점

  • OOP는 코드의 재사용률을 높이고 코드를 간결하게 함으로써 유지보수가 쉽다는 장점이 있다. (DRY pinciple)
  • 데이터를 안전하게 보존시킬 수 있다. (encapsolution(캡슐화)과 abstraction(추출화) 등)

FP

  • FP는 Functional Programming의 약자로 함수형 프그래밍을 뜻한다.
  • 과거 명령형 프로그래밍을 기반으로 개발했던 개발자들은 개발하는 소프트웨어의 크기가 커짐에 따라, 엉켜있는 스파게티 코드를 유지보수하는 것이 매우 힘들다는 것을 깨닫게 되었다.
  • 따라서 이를 해결하기 위해 함수형 프로그래밍 이라는 프로그래밍 패러다임에 관심을 갖게 되었다.
  • 함수형 프로그래밍은 거의 모든 것을 순수 함수로 나누어 문제를 해결하는 기법으로 작은 문제를 해결하기 위한 함수를 작성하여 가독성을 높이고 유지보수를 용이하게 해준다.

장점

  • 높은 수준의 추상화를 제공한다.
  • 함수 단위의 코드 재사용성이 증가한다.
  • 디버깅이 쉽다.
  • 불변성을 지향하기 때문에 프로그램의 동작을 예측하기 쉽다.
profile
안녕하세요. 홍성표입니다.

0개의 댓글