[kotlin] 연산자 결합성

연산자 결합성은 표현식을 해석하는 데 사용되는 우선 순위를 나타냅니다. Kotlin에서는 연산자의 우선 순위를 정의할 수 있으며, 이를 통해 표현식을 올바르게 해석할 수 있습니다.

기본 연산자 우선순위

Kotlin에서는 일반적으로 곱셈(*), 나눗셈(/), 덧셈(+), 뺄셈(-)의 우선순위가 높은 순서대로 결합됩니다.

예를 들어, 2 + 3 * 4의 경우에는 3 * 4가 먼저 수행되므로 결과는 14가 됩니다.

연산자 우선순위 변경

우선순위를 변경하려면 괄호를 사용하여 특정 연산을 강제로 수행하도록 지시할 수 있습니다.

val result = (2 + 3) * 4

위의 예제에서는 덧셈을 먼저 수행하도록 괄호를 사용하여 우선순위를 변경했습니다. 결과는 20이 됩니다.

사용자 정의 연산자 우선순위

Kotlin에서는 사용자가 직접 연산자의 우선순위를 변경하거나 새로운 연산자를 정의할 수 있는 기능을 제공합니다.

infix fun Int.customPlus(other: Int): Int {
    return this + other * 2
}

fun main() {
    val result = 2 customPlus 3
    println(result) // 출력: 8
}

위의 예제에서는 customPlus 연산자를 정의하여 곱셈보다 덧셈을 우선하여 수행하도록 변경하였습니다.

결론

Kotlin은 연산자의 우선순위를 변경하고 사용자가 직접 연산자를 정의할 수 있도록 다양한 기능을 제공합니다. 올바른 우선순위를 설정하여 코드를 보다 명확하고 효율적으로 작성할 수 있습니다.

더 자세한 내용은 Kotlin 공식 문서를 참조하시기 바랍니다.