[typescript] 네임스페이스 안의 코드를 비공개로 유지하는 방법
일부 개발 상황에서는 특정한 코드를 다른 모듈과 분리하기 위해 네임스페이스를 사용하는 경우가 있습니다. 그러나 TypeScript의 네임스페이스는 기본적으로 모든 멤버를 공개하므로 외부에서 접근 가능합니다. 이 문제를 해결하기 위해, 네임스페이스 안의 코드를 비공개로 유지하는 방법을 알아보겠습니다.
1. 네임스페이스 내부 코드 숨기기
네임스페이스 내에서 코드를 숨기려면 다음과 같이 사용합니다.
namespace MyNamespace {
let secretCode = '12345';
export function getCode() {
return secretCode;
}
}
위 코드에서 secretCode
는 export
키워드 없이 정의되었기 때문에, 외부에서 접근할 수 없습니다.
2. 접근 제어 한정자 활용
또 다른 방법은, 접근 제어 한정자를 사용하여 변수의 가시성을 조절할 수 있습니다.
namespace MyNamespace {
export let publicCode = '54321';
let secretCode = '12345';
export function getCode() {
return secretCode;
}
}
3. 새로운 파일을 생성하여 코드 분리
또 하나의 방법은, 비공개로 유지하고자 하는 코드를 새로운 파일로 분리하는 것입니다. 분리된 파일 내에서는 네임스페이스를 활용하여 비공개로 유지하고자 하는 코드를 정의할 수 있습니다.
이러한 방법들을 활용하여, TypeScript의 네임스페이스 안에 있는 코드를 비공개로 유지할 수 있습니다.
이상으로 네임스페이스 안의 코드를 비공개로 유지하는 방법에 대해 살펴보았습니다.
참고 문헌:
- TypeScript 공식 문서 - 네임스페이스 (Namespaces) [https://www.typescriptlang.org/docs/handbook/namespaces.html]