모듈과 모듈화

2019-06-09
Terminology

안녕하세요. 도미닉입니다.

오늘은 모듈에 대해서 알아보겠습니다.

모듈은 프로그래밍에서 자주 쓰이는 용어인데요.

저 또한 정확히 뜻을 파악하고 있지는 못하고 있었습니다.

일반적으로 모듈의 뜻과 스위프트에서 사용되는 예제 등을 찾아서 정리해보고자 합니다.

모듈이란?

정보통신기술용어해설 사이트에 모듈은 아래와 같이 설명되어 있습니다.

  • 보다 작고 이해할 수 있는 단위로 나뉘어진 것

  • 그 자체로 하나의 완전한 기능을 수행할 수 있는 독립된 실체

  • 본체에서 분리되어 작은 부분으로 유기적으로 구성되어 있다가 필요할 때 본체에 합류하여 그 기능을 수행할 수 있는 것

모듈은 위에 설명과 같이 한가지 일을 수행하는 코드의 모음이라고 할 수 있습니다.

모듈화란?

모듈 얘기가 나오면 모듈화를 빠뜨릴 수 없습니다.

모듈화는 거대한 문제를 작은 조각의 문제로 나누어 다루기 쉽도록 하는 과정입니다.

예를 들어 큰 문제를 해결하는 긴 소스가 있다면 한가지 일을 하는 소스들(모듈)끼리 나누는 것을 모듈화라고
합니다.

모듈의 특징

  • Unity (한가지 일만 수행)

  • Smallness (간단명료)

  • Simplicity (단순성)

  • Independency (독립성)

모듈의 특징은 위 4가지와 같습니다.

모듈은 한가지 일만 수행해야 합니다.

한가지 일만 수행하기 때문에 역할이 간단하고 명료해야합니다.

또한 다른 프로그램에서도 사용할 수 있도록 모듈은 단순해야 합니다.

여러 프로그램에서 붙여서 쓸 수 있도록 독립성을 유지해야 합니다.

모듈화 장점

  • 수정 용이

  • 재사용성 용이

  • 유지관리 쉬움

모듈화를 하면 수정에 용이합니다.

수행하는 일에 따라서 모듈이 나뉘어져 있기 때문에 어느 부분을 수정해야 할지 찾기 쉽기 때문입니다.

모듈은 위에서 설명했다시피 재사용하기 좋습니다.

통일성있게 표준화해놓기 때문에 다른 사람이 만든 모듈들을 유지보수하기도 좋습니다.

스위프트에서 모듈화

스위프트에서 모듈은 여러 기능(함수)들을 하나로 모은 것이라고 할 수 있습니다.

예를 들어 위에 소스는 입력을 담당하는 모듈입니다.

정리

모듈과 모듈화에 대해서 정리해봤습니다.

느낌만 알고 있었는데 이렇게 정리하고 보니 저 또한 많이 공부가 되고 이해에 도움이 된 것 같습니다.

모듈로 잘 정리를 해놓으면 다른 사람의 소스를 보기에도 좋기 자신 또한 이해하기 좋을 것입니다.

또한 다른 프로그램을 제작할 때 비슷한 기능 또는 같은 기능이 필요하다면 앞에서 만들어 놓은 모듈을 가져다 쓰면 될 것입니다.

글 읽어주셔서 감사합니다.

도움이 되셨다면 댓글도 부탁드립니다.

참고

모듈 [정보통신기술용어해설]
http://www.ktword.co.kr/abbr_view.php?m_temp1=2226