Kotlin infix 함수 이해하기
✨ 개요
Kotlin은 코드를 더 읽기 쉽고 유연하게 만드는 기능이 많습니다. 그중에서도 infix 함수는 함수 호출을 마치 연산자처럼 자연스럽게 표현할 수 있는 기능입니다. 오늘은 infix 키워드의 개념부터 실무 활용까지 모두 정리해보겠습니다.
1. 🧩 infix 함수란?
- 함수 호출 시 점(.) & 괄호(()) 없이 사용할 수 있게 해주는 코틀린 문법
- 자연어처럼 읽히는 문법 형태
infix fun Int.plusBy(x: Int): Int = this + x
fun main() {
val result = 5 plusBy 3
println(result) // 8
}
2. ⚙️ 사용 조건
- 클래스의 멤버 함수 또는 확장 함수
- 단일 파라미터만 가져야 함
- infix 키워드로 정의되어야 함
3. 🧪 유용한 상황
- DSL 만들 때 (Kotlin DSL, Gradle 스크립트 등)
- 읽기 쉬운 코드 작성 시
- Map/Pair 구성 시
- 조건이나 관계 표현 시 (A isGreaterThan B)
4. 🧾 다양한 예시
- 클래스 내에서 사용 ```kotlin class Person(val name: String) { infix fun likes(other: Person): Boolean { return this.name == other.name } }
val a = Person(“Joo”) val b = Person(“Joo”)
val result = a likes b // true
- 확장 함수로 사용
```kotlin
infix fun String.toIntOrZero(default: Int): Int {
return this.toIntOrNull() ?: default
}
val number = "100" toIntOrZero 0 // 100
- Map 구조 만들기 (to)
val map = mapOf("a" to 1, "b" to 2) // "to"는 표준 infix 함수
5. 🧾 결론
Kotlin의 infix 함수
는 코드의 표현력을 높이는 유용한 기능입니다.
특히 DSL 구성이나 가독성 향상이 필요한 부분에서 진가를 발휘합니다.
다만 과도한 사용은 오히려 혼란을 줄 수 있으므로, 적절한 곳에만 전략적으로 사용하는 것이 중요합니다.