본문 바로가기

MY스터디

[스터디] 코틀린에서 infix함수 활용에 대해서

코틀린에서 infix함수를 잘 사용하면, 정말 깔끔한 코드를 만들고 유지할수있다. 적극사용하자!

 

코틀린에서 infix 함수는
점(.)과 괄호 없이 함수 호출을 할 수 있게 만드는 기능이다.

(확장함수나, 함수 표현식이 아닌 호출 표현)

그래서 코드가 마치 우리가 일반적으로 사용하는 인간의 언어, 즉 자연어처럼 읽히게 만들 수 있다.

 

한가지 예로) a+b를 더하는 함수는 아래와 같이 정의하고, 사용도 아래와 같이 사용한다.

 

fun add(a: Int, b: Int): Int {
    return a + b
}

add(1, 2)

 

일반적으로 우리는 이렇게 함수를 만들고 사용한다.

하지만 코틀린에서 infix함수로 정의를 하면, 더 깔끔하게 표현할수있다.

 

infix fun Int.plus(other: Int): Int {
    return this + other
}

1 plus 2

 

사용함에 있어서 훨씬, 우리의 자연어와같이 사용할수있다.

map에서 값을 넣을때 key to value로 넣을때가 있는데, 이때 to도 infix함수이다.

 

특히 infix함수는 kotlin에서 custom dsl을 만들때, 정말 유용하게 쓰인다.

이전에 챗봇 시나리오 작성을 위한 dsl을 코틀린으로 만든적이있었는데,

이때는 거의 dsl의 구성은 빌더패턴과, 람다함수, 그리고 infix함수의 조합으로 구성된다고 볼수있다.

 

kotlin의 고급기술중에 custom dsl이 있는데, 담에는 이부분에 대해서 한번 정리를 해야겠다.

(시간이 가면, 점점 잊혀지기에.. 자료로 남겨둬야겠다)

'MY스터디' 카테고리의 다른 글

[스터디] 자바 ScopedValue에 대해서  (0) 2026.03.22