PHpullh
학습 라이브러리/Kotlin/중위 함수 (Infix Function)

KOTLIN · 함수

중위 함수 (Infix Function)

infix 키워드로 함수를 연산자처럼 중위 표기법으로 호출합니다. 가독성 높은 DSL 구성에 활용됩니다.

함수중급infixdsloperator-stylereadability

핵심 설명

infix 키워드로 함수를 연산자처럼 중위 표기법으로 호출합니다. 가독성 높은 DSL 구성에 활용됩니다.

Kotlin code

infix fun Int.power(exp: Int): Long {
    var result = 1L
    repeat(exp) { result *= this }
    return result
}

infix fun <T> T.shouldBe(expected: T) {
    if (this != expected)
        throw AssertionError("Expected $expected but got $this")
    println("✓ $this == $expected")
}

class Route(val path: String) {
    infix fun to(handler: (String) -> String) =
        println("$path → ${handler(path)}")
}

fun main() {
    println(2 power 10)          // 1024
    "Hello" shouldBe "Hello"     // ✓

    Route("/api/users") to { "GET $it" }
}

학습 팁

중위 함수는 테스트 프레임워크의 assertion DSL에 많이 사용됩니다. value shouldBe expected 형태로 자연스러운 테스트를 작성할 수 있습니다.

주의할 점

중위 함수는 반드시 멤버 함수이거나 확장 함수여야 하며, 파라미터가 정확히 하나여야 합니다. 기본값이 있어도 안 됩니다.

자주 묻는 질문

중위 함수 (Infix Function)란 무엇인가요?

infix 키워드로 함수를 연산자처럼 중위 표기법으로 호출합니다. 가독성 높은 DSL 구성에 활용됩니다.

중위 함수 (Infix Function) 학습 시 주의할 점은 무엇인가요?

중위 함수는 반드시 멤버 함수이거나 확장 함수여야 하며, 파라미터가 정확히 하나여야 합니다. 기본값이 있어도 안 됩니다.