[Kotlin in Action] 8์ฅ. ๊ณ ์ฐจํจ์์ inline function (inline ํจ์์ ์ฅ๋จ์ , ์ฌ์ฉ ์ด์ ๋ฑ)
์ง๋ ๊ธ(ํด๋์ค, ๊ฐ์ฒด, ์ธํฐํ์ด์ค)์ ์ด์ด Kotlin in Action ์ด๋ผ๋ ์ฑ
์ ๋ณด๋ฉด์ ๋งค์ฃผ ๊ณต๋ถํ ๋ด์ฉ์ ๋ธ๋ก๊ทธ์ ๊ธฐ๋กํ๋ค. ์ด๋ฒ ์ฃผ๋ 8์ฅ ๊ณ ์ฐจํจ์์ inline function ์ ๋ํ ๋ด์ฉ์ด๋ค. ์ฑ
๋ด์ฉ์ ์ด๋ง์ด๋งํ๊ฒ ๋ง๊ธฐ ๋๋ฌธ์.. ๋ด ๊ธฐ์ค์ผ๋ก ์๋ก ์๊ฒ ๋ ๊ฒ๋ค, ํ์์๋ ๋ชจ๋ฅด๊ณ ์ง๋์ณค๋ ๋ถ๋ถ ๋๋ ํ๋ฒ ์ง๊ณ ๋์ด๊ฐ๋ฉด ์ข์ ๋ด์ฉ๋ค ์์ฃผ๋ก ์ ๋ฆฌํ๋ค. ๋ชฉ์ฐจ ๊ณ ์ฐจ ํจ์ ์ ์ ๊ณ ์ฐจ ํจ์๋ ๋๋ค๋ ํจ์ ์ฐธ์กฐ๋ฅผ ์ธ์๋ก ๋๊ธธ ์ ์๊ฑฐ๋ ๋๋ค๋ ํจ์ ์ฐธ์กฐ๋ฅผ ๋ฐํํ๋ ํจ์. ๊ณ ์ฐจ ํจ์ ์์ ๐ list.filter { x > 0 } // ๋๋ค๋ฅผ ์ธ์๋ก ๋ฐ๋ filter ํจ์๋ ๊ณ ์ฐจํจ์ public inline fun Iterable.filter(predicate: (T) -> Boolean): List..
2022.01.09