더북(TheBook)

4.3.1 최상위 프로퍼티

클래스나 함수와 마찬가지로 최상위 수준에 프로퍼티를 정의할 수도 있다. 이런 경우 프로퍼티는 전역 변수나 상수와 비슷한 역할을 한다.

val prefix = "Hello, " // 최상위 불변 프로퍼티

fun main() {
  val name = readLine() ?: return
  println("$prefix$name")
}

이런 프로퍼티에 최상위 가시성(public/internal/private)을 지정할 수 있다. 그리고 임포트 디렉티브에서 최상위 프로퍼티를 임포트할 수도 있다.

// util.kt
package util

val prefix = "Hello, "

// main.kt
package main

import util.prefix

fun main() {
  val name = readLine() ?: return
  println("$prefix$name")
}
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.