Kotlin/포스팅

코틀린 최상위 프로퍼티

짜집퍼박사(짜박) 2023. 12. 30. 21:00

코틀린에서 최상위 프로퍼티(Top-Level Property)는 클래스 내부가 아닌 최상위 레벨에서 선언된 프로퍼티를 말합니다. 이러한 프로퍼티는 특정 클래스에 속하지 않고, 패키지 내에서 직접 선언됩니다.

 

최상위 프로퍼티의 선언

// 최상위 레벨에서의 프로퍼티 선언
var topLevelProperty: String = "Hello, Kotlin!"

fun main() {
    // 최상위 레벨 프로퍼티 사용
    println(topLevelProperty)
}

위의 코드에서 topLevelProperty는 어떤 클래스에도 속하지 않고, 패키지 레벨에서 직접 선언된 최상위 프로퍼티입니다.

 

최상위 프로퍼티의 사용

최상위 프로퍼티는 해당 패키지 내에서 어디서든 사용할 수 있습니다.

fun useTopLevelProperty() {
    println(topLevelProperty)
}

 

주의사항

1. 가시성(Visibility): 최상위 프로퍼티는 패키지 레벨에서 선언되므로 해당 패키지 내에서 모두 접근 가능합니다. 하지만 다른 패키지에서 접근하려면 internal이나 public 가시성을 명시적으로 선언해야 합니다.

// 최상위 레벨에서의 internal 프로퍼티 선언
internal var internalTopLevelProperty: String = "Internal Property"

2. 최상위 함수와 동일한 위치: 최상위 프로퍼티도 최상위 함수와 마찬가지로 패키지 파일 내에서 선언되어야 합니다.
3. 최상위 프로퍼티와 클래스 프로퍼티 구분: 최상위 프로퍼티는 클래스에 속하지 않기 때문에 클래스의 인스턴스와 관련이 없습니다. 클래스에 속하는 프로퍼티는 해당 클래스의 인스턴스마다 별도로 생성되지만, 최상위 프로퍼티는 클래스 인스턴스와 관계없이 패키지 내에서 공유됩니다.

 

최상위 프로퍼티는 코드의 구조를 더욱 간결하게 만들어주고, 패키지 수준에서 전역적으로 사용할 수 있습니다. 그러나 너무 남발하면 코드의 유지보수가 어려워질 수 있으므로 적절하게 사용하는 것이 중요합니다.

 

With ChatGPT

'Kotlin > 포스팅' 카테고리의 다른 글

코틀린 커스텀 접근자  (0) 2023.12.30
코틀린 늦은 초기화  (0) 2023.12.30
코틀린 프로퍼티  (0) 2023.12.30
코틀린 엘비스 연산자  (0) 2023.12.30
코틀린 안전한 호출 연산자  (0) 2023.12.30