๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๋นˆ ๊ตฌ๋ฉ ์ฑ„์šฐ๊ธฐ

[Kotlin] Infix call ์ค‘์œ„ ํ˜ธ์ถœ

์ถœ์ฒ˜

https://torbjorn.tistory.com/753

 

[Kotlin] infix call (์ค‘์œ„ ํ˜ธ์ถœ)

์ฝ”ํ‹€๋ฆฐ์—์„œ๋Š” ํ•จ์ˆ˜์— infix ํ‚ค์›Œ๋“œ๋ฅผ ๋ถ™์—ฌ ๋ฉ”์†Œ๋“œ๋กœ ์ค‘์œ„ํ˜ธ์ถœ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค public infix fun A.to(that: B): Pair = Pair(this, that) ์˜ˆ๋ฅผ ๋“ค๋ฉด Pair๋ฅผ ๋งŒ๋“œ๋Š” to ๋ฉ”์†Œ๋“œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค val numToEng = mapOf( 1 to "one",

torbjorn.tistory.com

https://kotlinlang.org/docs/functions.html#infix-notation

 

Functions | Kotlin

 

kotlinlang.org

ChatGPT


์ค‘์œ„ ํ˜ธ์ถœ(Infix call)์€ ์ฝ”ํ‹€๋ฆฐ์—์„œ ํŠน์ •ํ•œ ํ•จ์ˆ˜ ํ˜ธ์ถœ ๋ฐฉ์‹์ด๋‹ค. ํ•จ์ˆ˜ ์ด๋ฆ„์„ ๋‘ ์ธ์ž ์‚ฌ์ด์— ๋‘์–ด ํ˜ธ์ถœํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. ํ•จ์ˆ˜ ์ด๋ฆ„์„ ๋‘ ํ”ผ์—ฐ์‚ฐ์ž ์‚ฌ์ด์— ์œ„์น˜์‹œํ‚ค๋Š” ๋ฐฉ๋ฒ•์ธ๋ฐ, ๊ฐ„๋‹จํžˆ ์ƒ๊ฐํ•˜๋ฉด ํ˜ธ์ถœ์— ๋Œ€ํ•œ ์ ๊ณผ ๊ด„ํ˜ธ๋ฅผ ์ƒ๋žตํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

 

์ค‘์œ„ ํ˜ธ์ถœ์˜ ํŠน์ง•

1. ๋‹จ์ผ ๋งค๊ฐœ๋ณ€์ˆ˜ ํ•จ์ˆ˜๋งŒ ์ค‘์œ„ ํ˜ธ์ถœ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

2. ํ•จ์ˆ˜๊ฐ€ ๋ฉค๋ฒ„ ํ•จ์ˆ˜๋‚˜ ํ™•์žฅ ํ•จ์ˆ˜๋กœ ์„ ์–ธ๋˜์–ด์•ผ ํ•œ๋‹ค.

3. ํ•จ์ˆ˜ ์„ ์–ธ์— infix ํ‚ค์›Œ๋“œ๋ฅผ ๋ช…์‹œํ•ด์•ผ ํ•œ๋‹ค.

 

์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ์ค‘์œ„ ํ•จ์ˆ˜

to : ๋‘ ๊ฐ’์„ ํ•œ ์Œ(Pair)์œผ๋กœ ๋ฌถ์„ ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

val pair = "key" to "value"  // "key" to "value"๋Š” Pair("key", "value")๋กœ ๋ณ€ํ™˜

in, !in : ์ปฌ๋ ‰์…˜์ด๋‚˜ ๋ฒ”์œ„ ์•ˆ์— ๊ฐ’์ด ํฌํ•จ๋˜๋Š”์ง€ ํ™•์ธํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

if (3 in 1..5) {
    println("3์€ 1์—์„œ 5 ์‚ฌ์ด์— ์žˆ์Šต๋‹ˆ๋‹ค.")
}

 

์ค‘์œ„ ํ˜ธ์ถœ์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ 

๊ฐ€๋…์„ฑ ํ–ฅ์ƒ

์ˆ˜ํ•™์  ํ‘œํ˜„์ด๋‚˜ ์ž์—ฐ์Šค๋Ÿฌ์šด ๋ฌธ์žฅ์„ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐ ๋„์›€์„ ์ค€๋‹ค.

๊ฐ„๊ฒฐํ•จ

๊ด„ํ˜ธ๋ฅผ ์ƒ๋žตํ•˜๊ณ  ์ธ์ž ์‚ฌ์ด์— ํ•จ์ˆ˜ ์ด๋ฆ„์„ ์œ„์น˜์‹œ์ผœ ์ฝ”๋“œ๋ฅผ ๊ฐ„๊ฒฐํ•˜๊ฒŒ ๋งŒ๋“ ๋‹ค.