윤굥굥
yg323
윤굥굥
전체 방문자
오늘
어제
  • 굥굥 DEV
    • Computer Science
      • 자료구조 및 알고리즘
      • 운영체제
      • 네트워크
      • 데이터베이스
    • Programming Language
      • Java
      • Kotlin
    • Android
      • with Kotlin
    • Algorithm
      • with Kotlin
    • 하나씩 습득하는 중

블로그 메뉴

  • ↓백준 모아보기 ↓
  • 💚 플레티넘 문제 모아보기
  • 💛 골드 문제 모아보기
  • 🤍 실버 문제 모아보기
  • 🤎 브론즈 문제 모아보기

공지사항

인기 글

최근 댓글

최근 글

hELLO · Designed By 정상우.
윤굥굥

yg323

Programming Language/Kotlin

[공식문서를 읽자] Packages and imports

2022. 2. 9. 14:35
 

Packages and imports | Kotlin

 

kotlinlang.org

코틀린에서 소스파일은 패키지 선언으로 시작할 수 있다. 

package org.example

fun printMessage() { /*...*/ }
class Message { /*...*/ }

// ...

이 패키지에는 소스 파일의 클래스, 함수 등 모든 내용이 포함되어 있다. 따라서 위의 예에서 printMessage()의 전체 이름은 org.example.printMessage이고 메시지의 전체 이름은 org.example.Message이다. 

패키지가 지정되지 않은 경우 이러한 파일의 내용은 이름이 없는 default 패키지에 속한다. 

Default imports

기본적으로 모든 Kotlin 파일에 여러 패키지를 가져온다. 

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

대상 플랫폼에 따라 추가 패키지를 가져온다. 

  • JVM:
    • java.lang.*
    • kotlin.jvm.*
  • JS:
    • kotlin.js.*

Imports

기본 import외에 각 파일에는 고유한 import 지시문이 포함될 수 있다. 단일로 가져올 수 있다. 

import org.example.Message // Message is now accessible without qualification

또는 범위의 모든 액세스 가능한 콘텐츠(패키지, 클래스, 개체 등)을 가져올 수 있다. 

import org.example.* // everything in 'org.example' becomes accessible

이름 충돌이 있는 경우 as 키워드를 사용하여 충돌 엔티티의 이름을 로컬로 변경하여 명확하게 할 수 있다. 

import org.example.Message // Message is accessible
import org.test.Message as testMessage // testMessage stands for 'org.test.Message'

import 키워드는 클래스 import에만 사용되도록 제한하지 않고, 다른 선언을 가져오는 데 사용할 수도 있다.

  • 최상위 함수 및 속성
  • object 선언에 선언된 함수
  • enum 상수

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

저작자표시 비영리 변경금지 (새창열림)
    'Programming Language/Kotlin' 카테고리의 다른 글
    • [공식문서를 읽자] Classes and objects - Inheritance
    • [공식문서를 읽자] Classes and objects - Classes
    • [공식문서를 읽자] Control flow - Returns and jumps
    • [공식문서를 읽자] Control flow - Conditions and loops
    윤굥굥
    윤굥굥

    티스토리툴바