OOP , FP

최창서·2022년 4월 30일
0

OOP란?

Object Oriented Programming의 약자

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

장점

코드의 재사용률을 높이고 코드를 간결하게 함으로써 유지보수가 쉽다.(DRY principle)
데이터를 안전하게 보존할 수 있다.(encapsulation와 abstraction등)

대표언어

C++, Java, Python, Javascript

Functional Programming

side effect가 없는 pure function을 구현함으로써 프로그램을 디자인한다. 여러개의 작은 function을 엮으며 하나의 큰 function을 구현하고 불변성을 지키게 됨.

장점

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

대표적인 언어

Clojure, Swift, Haskell, Scala

참조 : https://velog.io/@suyeonme/JavascriptOOP

profile
프론트엔드 개발자

0개의 댓글