소스파일은 패키지 선언으로 시작될 수 있습니다.
package org.example
fun printMessage() { /*...*/ }
class Message { /*...*/ }
// ...
소스 안에 선언된 함수나 클래스는 패키지에 포함됩니다. 그래서 위 예제의 함수 printMessage의 실제 풀네임은 org.example.printMessage이고 클래스 Message의 풀네임은 org.example.Message입니다.
만약 패키지 선언이 존재하지 않는다면, 이름이 없는 default 패키지가 생성됩니다.
많은 패키지가 코틀린 파일에 기본적으로 import 됩니다.
디폴트 임포트와는 별개로, 각 파일은 임포트 지시문을 포함할 수 있습니다.
단일 name을 사용하여 임포트를 할 수 있습니다.
import org.example.Message
또는 *을 사용하여 패키지 내부의 모든 접근할 수 있는 컨텐츠를 임포트 할 수 있습니다.
import org.example.*
name 충돌이 발생한다면, as 키워드를 사용하여 충돌하는 이름을 갖는 컨텐츠의 이름을 바꿔서 사용할 수 있습니다.
import org.example.Message // Message is accessible
import org.test.Message as testMessage // testMessage stands for 'org.test.Message'
import 키워드는 클래스를 import하는 것에 한정되어 있지 않습니다. top-level function 또는 프로퍼티, object선언 내에 있는 함수나 프로퍼티, enum 상수 등에 대해서도 사용할 수 있습니다.