캡술화: 객체의 속성과 행위를 하나로 묶고, 실제 구현 내용 일부를 외부에 감추어 은닉한다. 재샤용 될만한 상태나 메소드들을 저장해두고 사용할 때 마다 불러올 수 있게함.
객체 : 이렇게 class로 캡슐화된 코드들을 필요할 때마다 복사해서 하나의 데이터(object)로 사용
모듈화 : 함수형 프로그래의 핵심, 다른 외부요인에 영향을 받지 않고 자신의 맡은 바를 실행.
(= 순수함수 : same input => same output)
목적성 : 알고리즘을 명시하는 것 보다 목표(함수)를 명시하는데 중심. (선언형)
객체 : 함수도 하나의 객체로서 작용. 적재적소에 해당 함수를 적절한 input과 함꼐 쓰는 것이 필요하다.
리액트에서는 컴포넌트
라는 클래스를 사용하고 내부적으로 state라는 상태와 props라는 속성을 갖는다.
import React, { Component } from 'react';
class MainClass extends Component {
state={}
render() {
return (
<div>
// ...
</div>
);
}
}
export default MainClass;
javascript ES6 화살표함수로 작성한 함수형 컴포넌트, 비구조화 할당을 통해 props를 인자로 받아서 쓸 수 있다.
import React from 'react';
const MainClass = ( {props} ) => {
return (
<div>
</div>
);
};