# 모듈(Module)

네이버에서 검색한 '모듈'에 과한 내용을 찾아보면 아래와 같은 의미가 있습니다.

1\) 소프트웨어 모듈 \
&#x20;\
프로그램의 기능을 독립적인 부품으로 분리한 것을 모듈이라고 하며, 모듈화 [프로그래밍](https://terms.naver.com/entry.nhn?docId=1159441\&ref=y)이란 이러한 분리를 강조하여 유지 보수와 타 프로그램에서의 코드 재사용을 손쉽게 하는 소프트웨어 설계 기법을 말한다. 모듈은 일반적으로 [서브루틴](https://terms.naver.com/entry.nhn?docId=1111126\&ref=y)과 데이터 구조의 집합체로서, 그 자체로서 컴파일 가능한 단위이며, 재사용 가능하고 동시에 여러 다른 모듈의 개발에 사용될 수 있다. 모듈의 인터페이스는 모듈에 의해 제공되거나 필요로 되는 요소들을 표현한다. 모듈의 개념을 명시적으로 지원하는 언어로는 Ada, FORTRAN, Pascal, Python, Ruby 등이 있으며, 일반적으로 [프로그래밍](https://terms.naver.com/entry.nhn?docId=1159441\&ref=y) 언어에 따라 모듈의 개념을 패키지라 부르기도 하며 그 규모도 언어마다 상이하다. \
\
2\) 하드웨어 모듈 \
\
컴퓨터 하드웨어나 전자공학에서의 모듈은 컴퓨터 내에서 기본적인 기능을 제공하기 위해 하나의 회로 보드로 패키지화 된 독립적인 전자 회로, 혹은 큰 장치 내에서 독립적으로 설치 및 교체되고 사용되도록 설계된 작은 구성요소를 말한다. 예를 들어 [NOT 게이트](https://terms.naver.com/entry.nhn?docId=2835922\&ref=y)와 같이 더 큰 논리 유닛을 만들기 위한 기본 논리 회로나, [RAM](https://terms.naver.com/entry.nhn?docId=1087343\&ref=y)과 같은 메모리 모듈을 모두 하드웨어 모듈이라 볼 수 있다.

Python에서 모듈이라고 한다면 1)의 소프트웨어 모듈입니다.&#x20;

<br>
