Kotlin 중위 표기법 함수 (Infix functions)

중간 표기법 함수(infix)

infix는 중간 기법에 대응한 함수를 정의한다. 아래는 Int 클래스에 add 함수를 확장 정의하고 있다. 3.add(5)와 같이 호출 할 수도 있고, infix를 붙어 있는 것만으로 3 add 5와 같이 중간 기법으로 사용하는 것도 가능하다. 이렇게 정의된 중간 표기법 함수는 Range를 생성하는 until과 Pair를 생성 to 등이 있다.

infix fun Int.add(x: Int): Int { return this + x } fun main() { println(3.add(5)) // 8 println(3 add 5) // 8 }

Infix 함수는 두개의 변수 가운데 오는 함수를 말한다. 코틀린에서 기본적으로 정의된 Infix 함수들 중에 Pair를 만드는 to가 있다.

아래 코드를 보도록 하자.

val pair : Pair<String, String> = "White" to "0xffffff"

"White""0xffffff" 객체 중간에 to가 Infix 함수이다. to는 양 옆의 객체들로 Pair 객체를 만들어 주고 있다.

/** * infix로 선언된 중위 함수 * * Int를 확장하여 multiply() 함수가 추가하였다. */ infix fun Int.multiply(x: Int): Int { return this * x } fun main() { // 일반 표현법 val multiply1 = 3.multiply(10) println("multiply1: $multiply1") // 중위 표현법 val multiply2 = 3 multiply 10 println("multiply2: $multiply2") }

Output:

참조




최종 수정 : 2021-10-27