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