조용한 담장

[코틀린] Kotlin : packages 본문

kotlin

[코틀린] Kotlin : packages

iosroid 2019. 12. 31. 12:18

코틀린(kotlin) 의 패키지를 살펴보자.

원문 https://kotlinlang.org/docs/reference/packages.html 을 보며 정리.


kotlin 파일에 있는 모든 내용 (함수, 클래스 등등) 이 패키지가 된다.
패키지로 지정을 안하면 이름없는 기본 패키지가 된다.

packages

패키지의 이름은 패키지내 소스파일 위에 package 뒤에 넣는다.

package my.package

import

패키지의 내용을 가져다 쓸때는 import 를 사용한다.

import my.package
// import my.*
// import my.package
// import my.package as my

IntelliJ IDEA 에서 package 생성

IDE 를 사용해보자.
project 트리에서 마우스 오른쪽 버튼 항목에서 package 를 선택하고 이름을 선택해주면 알아서 만들어 준다.

src 폴더에 'dummy' 패키지를 만들고 그 안에 'head' 패키지를 만들었다.

package 가 자동으로 입력된 빈 파일이 생긴다.
단순하게 코드를 넣어 실행해 보자.

// hello.kt
import dummy.*

fun main() {
    println("hello kotlin")
    dummy.packageName()
    dummy.head.packageName()
}
// dummy/test.kt
package dummy

fun packageName() {
    println("my name is dummy")
}
// dummy/head/head.kt
package dummy.head

fun packageName() {
    println("my name is dummy.head")
}

실행:

import other declarations

import 키워드로 클래스 외에도 아래의 것에 쓸 수 있다.

// package.kt
enum class Dummys {
    ONE, TWO, THREE
}

// main.kt
import package.Dummys
val a = package.Dummys.ONE

private

private 속성을 가지면 package 파일 외부에서 접근이 안된다.
참고 : Visibility Modifiers

// dummy/head/head/kt
private fun packageProperty() {
    println("I'm private")
}

// hello.kt
dummy.head.packageProperty() // error!

 

Comments