컴포넌트와 모듈의 차이

G E Lee·2023년 1월 25일
0

computer science

목록 보기
1/3
post-thumbnail

웹 개발을 하다 보면 컴포넌트와 모듈이라는 단어를 많이 접하게 된다.
나도 종종 쓰는 단어들이지만 정확히 이게 뭔지 설명하시오! 했을때 머릿속에서 정리가 잘되지 않아 글로 정리하고 기록해놓으려고한다.


컴포넌트와 모듈은 다르다!

컴포넌트와 모듈은 재사용이 가능한 점에서 비슷한 점이 많다.
또한 재사용이 가능하지만 최소한의 기능을 갖는 단위이므로 쉽게 그 의미가 혼용될 수 있다.



🙄 Component(컴포넌트)란?

  • 어떠한 기능을 재사용하기 위해 만들어진 독립적인 기능의 최소 단위
  • 실행, 구현된 소프트웨어의 활동 단위
  • 런타임 시점에서 의미가 있다.

예를 들면...

어떤 게시판의 글쓰기 버튼(컴포넌트)

어떤 웹 페이지의 A게시판에 글쓰기 버튼이 있다고 가정하자, 이 글쓰기 버튼은 글쓰기 기능이 있는 하나의 컴포넌트다.
A게시판이 어떤 오류에 의해 접속할 수 없는 상태가 된다면 이 글쓰기 버튼은 컴포넌트로서의 기능을 상실하는 것이다.
이렇게 컴포넌트는 실행, 구현이 되었을때 의미가 있으며 사용자에 의해 사용될 수 있는 단위이다.
또한 이 글쓰기 버튼은 해당 A게시판뿐만아니라 B게시판에도 재사용이 가능하다.



🙄 Module(모듈)이란?

  • 어떠한 기능을 재사용하기 위해 만들어진 독립적인 기능의 최소 단위
  • 설계 시점에 의미가 있는, 스스로 동작할 수 있는 요소
  • 연관있는 메서드나 클래스의 집합

예를 들면...

function sum(a, b) { return a + b }

위처럼 a와 b를 가져와서 더해진 숫자 값을 반환해주는 코드가 있다고 가정하자. 이 코드는 어디에서든 무조건 a + b라는 숫자를 반환해준다. 더하기 모듈이다.
또한 우리는 손쉽게 오픈소스 라이브러리에서 모듈을 찾아볼 수 있다.
특정 메서드를 사용해서 내가 원하는 데이터로 가공하거나 필요한 기능, 해당 라이브러리의 알고리즘을 적용할 수 있다.



💡 정리하면!

컴포넌트란?
사용자에게 보여질 때(런타임) 기능하는 최소 단위이다.
동일한 기능으로 재사용이 가능해야하며 유지보수가 용이해야한다.

모듈이란?
메서드나 함수같은 스스로 동작해도 이상하지 않은 최소 단위이다.
동일한 기능으로 재사용이 가능해야하며 유지보수가 용이해야한다.




홀로 공부한 내용이다보니 잘못 이해한 부분이 있을 수 있습니다.
그럴땐 조언과 의견 댓글 부탁합니다. 🙆‍♀️

profile
배움은 끝이 없다

0개의 댓글