삽질의 현장/- ETC

[삽잡이] 모듈(module) 이란?

shovelman 2015. 11. 14. 10:10


모듈이란, '전체를 다루는 일부'를 뜻합니다.


그리고, 일반적으로 컴퓨터 용어에서 부르는 모듈이란 

'컴파일이 완료된 바이너리'입니다.

또한, 이 때의 모듈에서는 기존의 모듈의 의미인 

'어떤 일부'라는 의미가 들어가야겠지요.


즉, 컴퓨터 용어에서 모듈은

'라이브러리'를 말하게 되는 것입니다.

라이브러리는 여러가지의 타입들, 함수들을 모아둔 집합의 용어를 뜻합니다.


그렇다면 모듈과 라이브러리는 뭔 차이일까요?

라이브러리라는 모듈을 사용할 때에는

'어떤 것의 일부'로 사용된다는 의미가 좀더 강하게 됩니다.


C#에서는 '다중 파일 어셈블리'에서 모듈이라는 용어가 존재합니다.

다중 파일 어셈블리에서의 모듈이란,

다중 파일을 다루는 '일부 닷넷 바이너리'를 말하는 것입니다.


만약, 다중 파일 어셈블리가 4개의 다중 파일로 이루어져있다면,

각각의 물리적인 파일을 가리켜서 '모듈'이라고 부르게 되는 것입니다.


함수 지향언어에서도 모듈은 존재합니다.

각각의 함수를 프로그램을 이루는 모듈이라고 부르죠.

즉, 해당 영역 하나하나를 모듈이라고 부른다는 것입니다.


이와 같이 모듈이라는 용어는 여러 부분에서 사용이 됩니다.

어디에서 사용되냐에 따라서 중심적인 의미는 같으나, 

조금씩 의미가 달라지는 경향이 있을 수는 있습니다.


이미 컴파일이 완료됬는데 '어떠한 것에 대한 일부'로 사용된다는 의미로써,

라이브러리를 뜻하는 것일 수도 

혹은 C#의 관점에서 봤을 때에는 어셈블리를 뜻하는 것이 될 수도 있습니다.