[typescript] 타입스크립트 모듈과 네임스페이스를 함께 사용하는 방법

이번 포스트에서는 타입스크립트에서 모듈과 네임스페이스를 함께 사용하는 방법에 대해 알아보겠습니다.

1. 타입스크립트 모듈

타입스크립트에서 모듈은 코드를 논리적인 단위로 분리하고 재사용하기 위한 수단으로 사용됩니다. 모듈을 사용하면 코드를 담당하는 부분에 따라 파일을 구성할 수 있고, 다른 파일에서 해당 모듈을 불러와 사용할 수 있습니다.

예를 들어, 다음과 같이 Calculator 모듈을 정의하고 불러와서 사용할 수 있습니다.

// Calculator.ts
export class Calculator {
  // ... 
}

// app.ts
import { Calculator } from './Calculator';
let calc = new Calculator();

2. 타입스크립트 네임스페이스

타입스크립트 네임스페이스는 전역 스코프에서 변수명이 충돌하는 것을 방지하기 위해 사용되는 기능입니다. 네임스페이스를 사용하면 변수나 함수를 그룹화하여 이름 충돌을 방지할 수 있습니다.

예를 들어, 다음과 같이 Utility 네임스페이스를 정의하고 사용할 수 있습니다.

// Utility.ts
namespace Utility {
  export function log(msg: string) {
    // ...
  }
}

// app.ts
Utility.log('Message');

3. 모듈과 네임스페이스 함께 사용하기

타입스크립트에서는 모듈과 네임스페이스를 함께 사용할 수 있습니다. 모듈화된 코드를 네임스페이스 안에서 재사용하거나, 네임스페이스를 사용하여 모듈 내부를 구조화할 수 있습니다.

아래는 모듈과 네임스페이스를 함께 사용하는 예시입니다.

// Shapes.ts
export namespace Shapes {
  export class Circle {
    // ...
  }
}

// app.ts
import { Shapes } from './Shapes';
let circle = new Shapes.Circle();

마무리

이렇게 타입스크립트에서 모듈과 네임스페이스를 함께 사용하는 방법에 대해 알아보았습니다. 모듈과 네임스페이스를 적절히 활용하여 코드를 구조화하고 모듈화하여 재사용성을 높일 수 있습니다.