[kotlin] 코틀린 클래스의 최상위 함수와 최상위 프로퍼티

코틀린은 객체 지향 프로그래밍 언어로, 클래스에 속하지 않은 최상위 함수와 최상위 프로퍼티를 지원합니다. 이 포스트에서는 코틀린에서 최상위 함수와 최상위 프로퍼티를 사용하는 방법에 대해 알아보겠습니다.

최상위 함수 (Top-level Function)

최상위 함수는 특정 클래스에 속하지 않고 바로 선언된 함수를 의미합니다. 이러한 함수는 패키지 수준에서 직접 정의될 수 있으며, 다른 클래스나 함수 내에 중첩되지 않습니다.

최상위 함수는 다음과 같이 정의할 수 있습니다.

fun greet(name: String) {
    println("Hello, $name!")
}

위의 예제에서 greet 함수는 어떤 클래스에도 속해있지 않고, 패키지 레벨에서 직접 정의된 최상위 함수입니다.

최상위 프로퍼티 (Top-level Property)

최상위 프로퍼티는 클래스에 속하지 않고 바로 선언된 프로퍼티를 의미합니다. 이러한 프로퍼티는 패키지 수준에서 직접 정의될 수 있으며, 다른 클래스나 함수 내에 중첩되지 않습니다.

최상위 프로퍼티는 다음과 같이 정의할 수 있습니다.

val PI = 3.14

위의 예제에서 PI는 클래스에 속해있지 않고 패키지 레벨에서 직접 정의된 최상위 프로퍼티입니다.

최상위 함수와 최상위 프로퍼티 활용

최상위 함수와 최상위 프로퍼티를 사용하면 패키지 수준에서 전역적으로 사용할 수 있는 유틸리티 함수나 상수를 정의할 수 있습니다.

fun main() {
    val result = add(3, 5)
    println(result)
}

fun add(a: Int, b: Int): Int {
    return a + b
}

위의 예제에서 add 함수는 최상위 함수로 정의되었으며, main 함수에서 사용되고 있습니다.

결론

코틀린의 최상위 함수와 최상위 프로퍼티를 사용하면 패키지 수준에서 유틸리티 함수나 상수를 전역적으로 정의할 수 있습니다. 이를 통해 코드의 가독성과 유지보수성을 높일 수 있으며, 중복을 줄일 수 있습니다.