[c] 모듈화와 네임스페이스

소프트웨어 개발에서 모듈화와 네임스페이스는 중요한 개념입니다. 모듈화는 코드를 별도의 모듈로 분리하여 재사용성을 늘리고, 유지보수를 용이하게 하는 것을 말합니다. 네임스페이스는 변수나 함수 등의 식별자가 충돌하지 않도록 하는데 사용되는데요.

모듈화(Module)

모듈화는 코드를 기능별로 분리해 놓은 것을 말합니다. 이는 코드의 재사용성을 높이고, 유지보수를 용이하게 합니다. 예를 들어, 사칙연산 모듈은 사칙연산에 관련된 함수들을 묶어 놓은 것입니다. 또한, 모듈화된 코드는 다른 프로젝트에서도 쉽게 사용할 수 있습니다. 다양한 언어에서는 모듈화를 지원하기 위해 모듈 시스템을 제공하고 있습니다.

다음은 Python에서 모듈을 사용하는 간단한 예시입니다.

# 모듈을 가져옴
import math

# 원주율 값
print(math.pi)

네임스페이스(Namespace)

네임스페이스는 특정한 식별자(이름)가 유효한 범위를 나타냅니다. 이를 통해 변수나 함수 등의 충돌을 방지할 수 있습니다. 예를 들어, 파이썬은 함수 내부와 외부의 네임스페이스가 분리되어 있기 때문에 동일한 이름의 변수를 사용해도 서로 다른 변수로 취급됩니다.

네임스페이스는 변수의 스코프에 영향을 미치며, 전역 네임스페이스와 지역 네임스페이스 등이 있습니다. 또한, 모듈마다 독자적인 네임스페이스를 가지며, 각각 독립적으로 식별자의 충돌을 피할 수 있습니다.


참고문헌: