-
컴포넌트(Component)와 모듈(Module)Web Programming 2020. 9. 11. 16:41반응형
웹을 공부하다보면 '재사용성이'라는 단어와 함께 컴포넌트와 모듈이라는 단어가 공공연하게 등장한다.
둘 다 '어떠한 구조와 기능의 최소 단위' 와 유사한 개념으로 정의되고 있기에 이 둘을 혼용하는 경우가 잦다.
하지만 이 둘은 명확하게 다른 의미를 지니고 있다.
컴포넌트(Component)
"실행 중인 소프트웨어의 활동 단위"
컴포넌트는 런타임 개체를 참조하고 가시성이 없는 단위이다. 실제로 운용 모델에서는 컴포넌트가 실행 가능한 바이너리 형식(0과 1의 집합)으로 전달된다고 한다. 따라서 컴포넌트는 실행 중인 소프트웨어의 활동 단위라 할 수 있다.
모듈(Module)
"만들어진 산출물의 구현 단위"
모듈을 검색해보면 "가장 첫 번째, 그리고 가장 맨 앞에 위치하는 구현의 단위" 등의 애매한 정의가 나온다. 모듈은 코드를 구조화하는 방법에 대한 생각에서 나온 개념이다. 실질적으로 구현이 된 구현 단위와 산출물을 기준으로 삼는다. 따라서 모듈은 만들어진 산출물의 구현 단위라 할 수 있다.
Client-Server 시스템에서 하나의 서버가 10개의 클라이언트에게 정보를 제공할 경우를 보자.
실행 중인 소프트웨어는 서버 1개, 클라어언트 10개로 컴포넌트는 11개라 할 수 있다.
반면, 만들어진 산출물은 서버, 클라이언트 이렇게 2개라 할 수 있다.
이렇게 컴포넌트와 모듈은 상하위 관계가 아닌 다른 개념이다.
반응형'Web Programming' 카테고리의 다른 글
프로세스(Process)와 쓰레드(Thread), 멀티쓰레드(Multi-Thread) (0) 2020.09.17 3 Way-Handshake 란? (0) 2020.09.16 JSTL(JSP Standard Tag Library) 정리 (0) 2020.09.15 Question (0) 2020.09.11 Code Bank (0) 2020.09.10