[Kotlin Docs] Package and Import

코틀린 공식 사이트의 문서를 번역하고 공부한 내용입니다.
글 내용에 오,의역이 존재할 수 있고 공부하면서 잘못알고 있는 개념이 존재할 수 있습니다!

원문 링크: Packages and imports

Package

코틀린의 소스 파일은 패키지 선언으로 시작할 수 있다. 패키지를 명시적으로 선언하면 소스 파일내의 모든 선언들이 해당 패키지에 포함되게 된다.

package com.example

fun foo() { /* ... */ }

class EX1 { /* ... */ }

foo 함수의 전체 이름은 com.example.foo가 되고 EX1 클래스의 전체 이름은 com.example.EX1이 된다. 패키지를 명시적으로 선언하지 않으면 이름이 없는 default 패키지에 속하게 된다.

Import

Default imports

코틀린 파일에는 기본적으로 import되는 패키지들이 있다.

  • kotlin.*
  • kotlin.annotation.*
  • kotlin.collections.*
  • kotlin.comparisons.*
  • kotlin.io.*
  • kotlin.ranges.*
  • kotlin.sequences.*
  • kotlin.text.*

위의 패키지들이 기본 import 되는 패키지들이다.

JVM 플랫폼의 경우 아래 패키지들이 추가로 import된다.

  • java.lang*
  • kotlin.jvm.*

Import

기본 import와 별개로 각 코틀린 파일은 import 지시문을 포함할 수 있다. import 지시문을 사용하면 소스 파일내에서 해당 선언에 접근이 가능해진다. 단일 import 지시문을 사용하거나 *을 사용하여 패키지의 모든 요소를 import할 수 있다.

import com.example.foo

import com.example.*

위의 importfoo() 함수에만 접근할 수 있고 아래 importcom.example 패키지내의 모든 요소에 접근할 수 있다. (단, 패키지내의 선언의 접근 제한자에 의해 접근이 불가능할 수도 있다.)

import한 선언의 이름이 충돌하는 경우 as 키워드를 사용하여 충돌하는 선언의 소스 파일내에서 사용할 이름을 지정할 수 있다.

import com.example.foo
import com.text.foo as testFoo

import 지시문은 클래스에만 사용할 수 있도록 제한되지 않고 다른 선언을 가져올 수 있다.

  • 최상위 선언(함수 및 프로퍼티)
  • object 선언내에 선언된 함수와 프로퍼티
  • enum 상수

만약 최상위 선언의 접근 제한자가 private인 경우 해당 최상위 선언은 선언된 소스 파일내에 대해서만 private임에 유의해야 한다.

좋은 웹페이지 즐겨찾기