3.7 모듈과 경로(Modules and Paths)

3.7 모듈과 경로(Modules and Paths)

정의: 모듈(Module) — 모든 Haxe 코드는 경로로 주소 지정되는 모듈로 조직됩니다. 본질적으로 각 .hx 파일은 여러 타입을 포함할 수 있는 모듈을 나타냅니다. 타입은 private일 수 있으며, 그 경우 포함하는 모듈만 접근할 수 있어요.

모듈과 같은 이름의 포함 타입 사이의 구분은 의도적으로 흐릿합니다. 실제로 haxe.ds.StringMap<Int>를 주소 지정하는 것은 haxe.ds.StringMap.StringMap<Int>의 줄임말로 간주될 수 있어요. 후자 버전은 네 부분으로 구성됩니다:

  • 패키지 haxe.ds.
  • 모듈 이름 StringMap.
  • 타입 이름 StringMap.
  • 타입 매개변수 Int.

모듈과 타입 이름이 같으면 중복을 제거해 haxe.ds.StringMap<Int>의 짧은 버전이 됩니다. 하지만 확장 버전을 아는 것은 모듈 하위 타입(module sub-types)이 주소 지정되는 방식을 이해하는 데 도움이 됩니다.

경로는 import를 사용해 더 줄일 수 있는데, 보통 경로의 패키지 부분을 생략할 수 있게 합니다. 이는 한정되지 않은 식별자의 사용으로 이어질 수 있으며, 해석 순서(resolution order)를 이해해야 합니다.

정의: 타입 경로(Type path) — 타입의 (점)경로는 패키지, 모듈 이름, 타입 이름으로 구성됩니다. 일반 형태는 pack1.pack2.packN.ModuleName.TypeName입니다.

출처: Modules and Paths

본문

모듈과 경로

각 .hx 파일은 하나의 모듈이며 여러 타입을 포함할 수 있어요. private 타입은 모듈 안에서만 접근 가능합니다. 경로는 패키지·모듈·타입·타입 매개변수로 구성됩니다.

축약

haxe.ds.StringMap<Int>haxe.ds.StringMap.StringMap<Int>의 축약입니다. import로 패키지 부분을 생략할 수 있어요.

더 알아보기