[typescript] 모듈과 네임스페이스의 사용 예시와 실제 사례

이번 글에서는 TypeScript에서 모듈과 네임스페이스의 사용 예시와 그 실제적인 활용 사례에 대해 알아보겠습니다.

모듈(Module)의 개념

모듈은 코드의 재사용성을 높이기 위해 구조화된 코드 블록입니다. 모듈을 사용함으로써 전역 스코프로부터 코드를 보호하고 필요한 기능을 외부로 노출시킬 수 있습니다.

TypeScript에서 모듈은 파일 수준의 스코프를 갖고 있으며, export 키워드를 사용하여 외부로 노출될 수 있는 항목들을 지정할 수 있습니다.

// math.ts
export function add(x: number, y: number): number {
    return x + y;
}

네임스페이스(Namespace)의 개념

네임스페이스는 코드를 논리적으로 그룹화하고 전역 스코프에 대한 오염을 방지하기 위한 TypeScript의 기능입니다.

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

모듈과 네임스페이스의 실제적인 활용

TypeScript에서는 모듈을 사용하여 외부 라이브러리나 자체적으로 만든 코드를 조직화하고, 네임스페이스를 사용하여 중첩된 논리적 그룹을 형성할 수 있습니다.

// math.ts
export module Math {
    export function add(x: number, y: number): number {
        return x + y;
    }
}

// app.ts
import { Math } from "./math";
console.log(Math.add(2, 3)); // 5

결론

모듈과 네임스페이스는 TypeScript에서 코드의 구조화와 재사용성을 높이는 데에 중요한 역할을 합니다. 올바르게 활용함으로써 코드의 가독성과 유지보수성을 향상시킬 수 있습니다.

더 많은 자세한 내용은 TypeScript 공식 문서를 참고하시기 바랍니다.