컴포넌트란?
소프트웨어 개발에서 재사용성을 고려해 작성된 모듈 단위의 코드 블록
- 화면상의 특정 부분에 대한 기능적인 독립성 보장
- 모듈화된 코드라 재사용성이 높음
- 각각의 역할이 분리되어있어 유지보수와 확장이 용이함
모듈이란?
프로그래밍에서 관련있는 데이터나 함수들을 하나의 단위로 묶어서 사용하는 것
- 프로그램의 크기가 커질수록 코드의 재사용성과 유지보수성을 높이기 위해 사용
- 다른 모듈에서 사용이 가능하도록 export와 import 가능
- 모듈 간의 의존성을 관리함으로써 각 모듈이 서로 영향을 주지않고 독립적으로 작동할 수 있도록 보장
- webpack과 같은 번들러가 모듈 시스템 지원
의존성이란?
다른 모듈/컴포넌트와의 상호작용
- 하나의 모듈/컴포넌트가 다른 모듈/컴포넌트에 의존한다는 것은 해당 모듈/컴포넌트를 사용하기 위해서 다른 모듈/컴포넌트가 먼저 존재해야함을 의미
- 의존성이 존재하는 경우 코드의 실행 순서와 관련된 문제 발생할 수 있음
모듈과 컴포넌트의 차이
모듈은 프로그램의 기능을 수행하기 위한 독립적인 코드 단위,
컴포넌트는 사용자 인터페이스를 구성하는 독립적인 단위
컴포넌트는 모듈과 달리 UI 생성에 중점을 둠
화면의 특정 영역을 담당하며, 해당 영역에서 사용되는 UI 요소와 기능을 구현
일반적으로 state를 가지며 이를 통해 사용자 인터렉션에 대한 응답을 처리
모듈이나 라이브러리를 이용해 컴포넌트를 구현할 수 있다