함수형 프로그래밍 vs 객체지향 프로그래밍

호돌·2020년 12월 15일
0

프론트엔드

목록 보기
10/11

객체지향 프로그래밍(OOP)

  • 캡술화: 객체의 속성과 행위를 하나로 묶고, 실제 구현 내용 일부를 외부에 감추어 은닉한다. 재샤용 될만한 상태나 메소드들을 저장해두고 사용할 때 마다 불러올 수 있게함.

  • 객체 : 이렇게 class로 캡슐화된 코드들을 필요할 때마다 복사해서 하나의 데이터(object)로 사용

    함수형 프로그래밍(Functional)

  • 모듈화 : 함수형 프로그래의 핵심, 다른 외부요인에 영향을 받지 않고 자신의 맡은 바를 실행.
    (= 순수함수 : same input => same output)

  • 목적성 : 알고리즘을 명시하는 것 보다 목표(함수)를 명시하는데 중심. (선언형)

  • 객체 : 함수도 하나의 객체로서 작용. 적재적소에 해당 함수를 적절한 input과 함꼐 쓰는 것이 필요하다.

    React에서의 객체지향 프로그래밍

리액트에서는 컴포넌트라는 클래스를 사용하고 내부적으로 state라는 상태와 props라는 속성을 갖는다.

import React, { Component } from 'react';

class MainClass extends Component {
  state={}
  render() {
    return (
      <div>
        // ...
      </div>
    );
  }
}

export default MainClass;

React에서의 함수형 프로그래밍

javascript ES6 화살표함수로 작성한 함수형 컴포넌트, 비구조화 할당을 통해 props를 인자로 받아서 쓸 수 있다.

import React from 'react';

const MainClass = ( {props} ) => {
  return (
    <div>
      
    </div>
  );
};
profile
저도 잘 모르는데요?, 내가 몰라서 적는 글

0개의 댓글

관련 채용 정보