[kotlin] 변수와 상수의 범위를 제한하는 방법

Kotlin은 변수와 상수를 사용할 때 그 범위를 제한하는 여러 가지 방법을 제공합니다. 이를 통해 코드를 더 안전하게 만들고 의도치 않은 상태 변화를 방지할 수 있습니다.

1. 변수와 상수 정의

가장 기본적인 변수와 상수의 정의 방법은 다음과 같습니다.

val constant: Int = 100   // 상수로 선언
var variable: String = "Hello"   // 변수로 선언

2. 상수로 선언하기

변하지 않는 값을 다룰 때는 val 키워드를 사용하여 상수로 선언할 수 있습니다.

val pi: Double = 3.14159

3. 변수의 값 변경 제한하기

변수의 값이 변경되지 않도록 하려면 val 대신 var 키워드를 사용하고, getter를 제공하여 읽기 전용으로 만들 수 있습니다.

var counter: Int = 0
    get() = field    // getter의 반환값을 변경
    private set(value) { field = value }  // setter의 접근 지정자(private)로 변경 방지

4. 변수의 범위 제한하기

특정 범위 내에서만 변수를 사용하고 싶을 경우 run 함수를 사용하여 범위를 제한할 수 있습니다.

fun printNumber() {
    run {
        var number: Int = 42   // run 블록 내에서만 변수 사용 가능
        println(number)
    }
    // println(number)   // 에러: number는 run 블록 외부에서는 사용할 수 없음
}

5. 변수의 수명 주기 제한하기

특정 코드 블록 안에서만 유효한 변수를 사용하고 싶을 때는 let 함수를 사용하여 수명 주기를 제한할 수 있습니다.

fun printString() {
    val str: String? = "Hello"
    str?.let {
        println(it)   // str의 값을 it을 통해 사용
    }
    // println(str)   // 에러: str은 let 블록 외부에서는 사용할 수 없음
}

Kotlin은 다양한 방법을 통해 변수와 상수의 범위를 제한할 수 있도록 다양한 기능을 제공하고 있습니다. 이러한 기능을 적절히 활용하여 안전하고 의도한 대로 코드를 작성할 수 있습니다.

참고: Kotlin 공식 문서