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")
    }
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.