소스 파일은 package 선언으로 시작 할 수 있다.
package org.example fun printMessage() { /*...*/ } class Message { /*...*/ } // ...
클래스, 함수와 같은 소스 파일의 모든 contents 들은 package에 포함 된다.
위 예시에서
printMessage()
의 full name 은 org.example.printMessage
이고Message
의 fullname은 org.example.Message
이다.패키지를 적지 않으면 소스 파일의 contents 들은 이름이 없는 default 패키지에 포함된다.
Default imports
코틀린에서는 많은 패키지가 자동 임포트 된다.
- kotlin.*
- kotlin.annotation.*
- kotlin.collections.*
- kotlin.comparisons.*
- kotlin.io.*
- kotlin.ranges.*
- kotlin.sequences.*
- kotlin.text.*
Additional packages are imported depending on the target platform:
- JVM:
- java.lang.*
- kotlin.jvm.*
- JS:
- kotlin.js.*
Imports
default imports 외에 각 파일들은
import
지시자를 가질 수 있다.- single name Import
import org.example.Message // Message is now accessible without qualification
- scope 의 모든 contents Import
import org.example.* // everything in 'org.example' becomes accessible
- 이름이 충돌나는 경우 fqn 을 쓰는 것이 아니라 as 로 별칭을 줄 수 있다.
import org.example.Message // Message is accessible import org.test.Messageas testMessage // testMessage stands for 'org.test.Message'
import
키워드는 클래스에만 사용 할 수 있는 것이 아니다.- top-level functions and properties
- functions and properties declared in object declaration
- enum constants