Kotlin/포스팅

코틀린 증가와 감소

짜집퍼박사(짜박) 2024. 1. 3. 22:43

코틀린에서는 증가와 감소 연산자를 명시적으로 제공하지 않습니다. 대신에, inc() 및 dec() 메서드를 사용하여 객체의 값을 증가 또는 감소시킬 수 있습니다.

 

1. inc() 및 dec() 메서드

inc() 메서드는 값을 1 증가시키고, dec() 메서드는 값을 1 감소시킵니다. 이러한 메서드는 코틀린에서 내장된 연산자 오버로딩을 지원합니다.

class Counter(var value: Int) {
    // 증가 연산자 오버로딩
    operator fun inc(): Counter {
        value++
        return this
    }

    // 감소 연산자 오버로딩
    operator fun dec(): Counter {
        value--
        return this
    }
}

fun main() {
    val counter = Counter(5)

    // 증가 연산자 사용
    println(counter.inc().value) // 출력: 6

    // 감소 연산자 사용
    println(counter.dec().value) // 출력: 5
}

위의 예제에서 inc() 및 dec() 메서드를 사용하여 객체의 값을 증가 및 감소시켰습니다.

 

2. 전위 및 후위 증가/감소

코틀린에서는 전위 및 후위 증가/감소 연산자를 지원합니다. 전위 연산자는 변수를 증가시키거나 감소시킨 후 값을 반환하며, 후위 연산자는 변수를 증가시키거나 감소시키기 전에 현재 값을 반환합니다.

class Counter(var value: Int) {
    // 전위 증가 연산자 오버로딩
    operator fun inc(): Counter {
        value++
        return this
    }

    // 전위 감소 연산자 오버로딩
    operator fun dec(): Counter {
        value--
        return this
    }

    // 후위 증가 연산자 오버로딩
    operator fun inc(n: Int): Counter {
        value += n
        return this
    }

    // 후위 감소 연산자 오버로딩
    operator fun dec(n: Int): Counter {
        value -= n
        return this
    }
}

fun main() {
    val counter = Counter(10)

    // 전위 증가 연산자 사용
    println(++counter.value) // 출력: 11

    // 전위 감소 연산자 사용
    println(--counter.value) // 출력: 10

    // 후위 증가 연산자 사용
    println(counter.value++) // 출력: 10
    println(counter.value)   // 출력: 11

    // 후위 감소 연산자 사용
    println(counter.value--) // 출력: 11
    println(counter.value)   // 출력: 10
}

위의 예제에서는 전위 증가(++counter), 전위 감소(--counter), 후위 증가(counter++), 후위 감소(counter--) 연산자를 사용하여 객체의 값을 변경하고 반환하는 방법을 보여줍니다.

참고로, 후위 연산자를 사용할 때에는 주의가 필요합니다. 후위 연산자는 변수를 증가시키거나 감소시킨 후에 현재 값을 반환하므로, 사용 시에 주의하여야 합니다.

 

With ChatGPT

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

코틀린 중위 연산  (0) 2024.01.03
코틀린 이항 연산  (0) 2024.01.03
코틀린 단항 연산  (0) 2024.01.03
코틀린 연산자 오버로딩  (0) 2024.01.03
코틀린 리플렉션 호출 가능  (0) 2024.01.03