
<component의 장점>
1. 코드 양을 줄일 수 있다.
2. 개발 시간을 줄일 수 있다.
3. 유지 보수 비용이 줄어든다.
component를 하나의 작은 UI 덩어리로 보고, Method는 기능을 가진 함수라고 생각하면 이해하기 쉽다!

구조는 javascript의 함수와 비슷하다고 보면 된다.
단순하게 생각하면, 함수가 입력을 받아 출력하는 것 처럼 component도 props(proeperties)이 입력, React Element가 출력이라고 생각하면 된다.
| 클래스형 컴포넌트 | 함수형 컴포넌트 |
|---|---|
| state, lifeCycle 관련 기능 가능 | state, lifeCycle 관련 기능 불가능 [Hook을 통해 해결] |
| - | 클래스형 컴포넌트보다 선언하기 편함 |
| - | 클래스형 컴포넌트보다 메모리 자원을 덜 사용 |
| - | 클래스형 컴포넌트보다 빌드 후 파일 크기가 더 작음 |
render() 함수가 필요함 | render() 함수가 필요 없음 |
그냥 대충 차이점만 봐도 함수형 컴포넌트가 훨씬 좋아보인다. React 공식 문서에서도 함수형 컴포넌트를 사용하는 것을 권장하고 있다.
그래도 과거에 클래스 컴포넌트를 사용한 작업, 프로젝트가 있으니까 유지보수를 위해 알아 둘 필요는 있다.