
[Kotlin] inline ํค์๋: ์๋ฏธ์ ์ต์ ์ ์ฌ์ฉ ์ํฉ ๋ถ์
ยท
Languages/Kotlin
Kotlin์ inline ํค์๋: ์๋ฏธ์ ์ต์ ์ ์ฌ์ฉ ์ํฉ ๋ถ์์ฝํ๋ฆฐ์ inline ํค์๋๋ ํจ์ ํธ์ถ ์ ๋ฐ์ํ๋ ๋ฐํ์ ์ค๋ฒํค๋๋ฅผ ์ต์ ํํ๊ธฐ ์ํด ์ค๊ณ๋ ๊ธฐ๋ฅ์
๋๋ค. ์ด ํค์๋๋ฅผ ์ ์ฉํ ํจ์๋ ์ปดํ์ผ ์ ํธ์ถ ์ง์ ์ ํจ์ ๋ณธ๋ฌธ์ ์ง์ ์ฝ์
(inline)ํ์ฌ ์คํ ํ๋ฆ์ ์ต์ ํํฉ๋๋ค. ํนํ ๊ณ ์ฐจ ํจ์(higher-order functions)์ ๋๋ค ํํ์์์ ๋ฐ์ํ๋ ์ฑ๋ฅ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐ ํต์ฌ์ ์ธ ์ญํ ์ ํฉ๋๋ค.์ธ๋ผ์ธ ํจ์์ ์๋ ๋ฉ์ปค๋์ฆ1. ํจ์ ํธ์ถ ์ค๋ฒํค๋ ์ ๊ฑฐ์ผ๋ฐ ํจ์ ํธ์ถ์ ์คํ ํ๋ ์ ์์ฑ, ์ ํ ๋ช
๋ น์ด ์คํ, ๋ฐํ ์ฃผ์ ๊ด๋ฆฌ ๋ฑ์ ๊ณผ์ ์ ์๋ฐํฉ๋๋ค. ๋ฐ๋ฉด inline ํจ์๋ ์ปดํ์ผ๋ฌ๊ฐ ํจ์ ๋ณธ๋ฌธ์ ํธ์ถ ์์น์ ์ง์ ๋ณต์ฌํ๋ฏ๋ก ์ด๋ฌํ ์ค๋ฒํค๋๊ฐ ์ ๊ฑฐ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด lock() ํจ์..