모듈 (프로그래밍)

모듈(module)은 독립된 하나의 소프트웨어 또는 하드웨어의 단위를 지칭한다. 컴퓨터 소프트웨어 즉, 모듈 프로그래밍(modular programming)에서는 소프트웨어 디자인 기술(software design technique)을 뜻한다. 역사적으로 프로그래밍이라는 관점에서는 기본적으로  본체에 대한 독립된 하위 단위라는 필연적인 개념의 큰 틀을 따르고 있지만  본체와 모듈 간에 가지고 있었던 문제들을 해결해 나가는 과정에서 발전하였다. 모듈에 가장 큰 영향을 미쳤던 클래스 그리고 라이브러리가  향상됨에 따라 점차 발전하였다. 이러한 지속 가능성은 이것의 가장 큰 장점 중 하나이다. 초기에는 분리된 독립성의 모듈로 도입되었으나 점차로 객체화, 캡슐화, 모듈화 프로그래밍 기법 등  여러 기능들이 추가되면서 점차적으로 영역이 나뉘어가고 있다. 그러나  이로 인하여 모듈성을 제대로 반영하지 못하고 있다는 비난을 받을 수도 있다. 한편 이러한 비난은  모듈 시스템, 모듈 프로그래밍이 갖는 현재의 한계를 인식하고  보다 안정적으로  발전하기 위해  효율적인 방향을 추구하는데 기여할 수 있다.

여기서 본체는 하드웨어적인 운영체계일 수도 있고  규모 있는 소프트웨어 프로그램의 본체일 수도 있다.

모듈의 예
 소프트웨어적인 동적 라이브러리
 리눅스 커널에 독립적인 하드웨어장치 인식을 위한 모듈의 실시간 적재
 런타임 라이브러리
 API의 프로그램간 인터페이스

 같이 보기 
 모듈성
 시뮬라 67
 모듈라

 각주 

 외부 링크 
 정보통신기술용어해설

분류:프로그래밍 패러다임