Inline
inline
ํค์๋๋ ์ฝํ๋ฆฐ์์ ๊ณ ์ฐจ ํจ์์ ์ฑ๋ฅ์ ์ต์ ํํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ์ด๋ ํจ์ ํธ์ถ ์ค๋ฒํค๋๋ฅผ ์ค์ด๊ณ , ๋๋ค ํํ์์ ์ํ ๋ฉ๋ชจ๋ฆฌ ํ ๋น์ ๋ฐฉ์งํ๊ธฐ ์ํด ํจ์ ์ฝ๋๋ฅผ ํธ์ถ ์์น์ ์ง์ ์ฝ์
ํฉ๋๋ค.
inline ํค์๋์ ๋์
inline
ํค์๋๋ ํจ์๊ฐ ํธ์ถ๋ ๋, ํจ์ ํธ์ถ์ ์ ๊ฑฐํ๊ณ ๊ทธ ๋ด์ฉ์ ํธ์ถ ์์น์ ์ฝ์
ํฉ๋๋ค. ์ด๋ฅผ ํตํด ํธ์ถ ์ค๋ฒํค๋์ ๋๋ค ์บก์ฒ์ ๋ฐ๋ฅธ ๋ฉ๋ชจ๋ฆฌ ํ ๋น ๋น์ฉ์ ์ค์ผ ์ ์์ต๋๋ค.
์ฌ์ฉ ์์
์ปดํ์ผ ์ ์ฝํ๋ฆฐ ์ฝ๋
์ ์ฝ๋๋ ๊ณ ์ฐจ ํจ์ execute
์ ๋๋ค ํํ์์ ์ฌ์ฉํ๊ณ ์์ต๋๋ค. ์ด๋ ์ผ๋ฐ์ ์ผ๋ก ๋๋ค๊ฐ ์ต๋ช
ํด๋์ค๋ก ๋ณํ๋์ด ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ ๋ฐฉ์์ผ๋ก ๋์ํฉ๋๋ค.
main
ํจ์์์ ๊ณ ์ฐจ ํจ์๋ฅผ ํธ์ถํฉ๋๋ค:
์ปดํ์ผ ํ ๋์ปดํ์ผ๋ Java ์ฝ๋
inline
ํค์๋๋ก ์ธํด ํจ์ ํธ์ถ์ด ์ ๊ฑฐ๋๊ณ ์ฝ๋๊ฐ ํธ์ถ ์์น์ ์ฝ์
๋ฉ๋๋ค. ๋์ปดํ์ผ๋ ์ฝ๋๋ ๋ค์๊ณผ ๊ฐ์ด ๋ํ๋ฉ๋๋ค:
๋์ปดํ์ผ ๊ฒฐ๊ณผ ๋ถ์
execute
ํจ์๊ฐ ํธ์ถ๋์ง ์๊ณ , ํจ์ ๋ณธ๋ฌธ์ด main
ํจ์์ ์ง์ ์ฝ์
๋์์ต๋๋ค. ๋ํ ๋๋ค ํํ์์ด ์ต๋ช
ํด๋์ค๋ ๊ฐ์ฒด๋ก ๋ณํ๋์ง ์์ ์ถ๊ฐ์ ์ธ ๋ฉ๋ชจ๋ฆฌ ํ ๋น์ด ๋ฐ์ํ์ง ์์ต๋๋ค.
inline์ ์ด์
ํธ์ถ ์ค๋ฒํค๋ ์ ๊ฑฐ
์ผ๋ฐ ํจ์ ํธ์ถ์ ์คํ ํ๋ ์์ ์์ฑํ๊ณ , ํธ์ถ ํ ๋ฐํํ๋ ๊ณผ์ ์์ ์ค๋ฒํค๋๊ฐ ๋ฐ์ํฉ๋๋ค. inline
์ ์ด๋ฅผ ์ ๊ฑฐํ์ฌ ์ฑ๋ฅ์ ์ต์ ํํฉ๋๋ค.
๋๋ค ์บก์ฒ ๋น์ฉ ๊ฐ์
๋๋ค ํํ์์ด ์ธ๋ถ ๋ณ์๋ฅผ ์บก์ฒํ๋ฉด ์ต๋ช
๊ฐ์ฒด๋ฅผ ์์ฑํ์ฌ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌ์ฉํ๊ฒ ๋ฉ๋๋ค. inline
ํค์๋๋ฅผ ์ฌ์ฉํ๋ฉด ์ด๋ฌํ ๊ฐ์ฒด ์์ฑ ๋น์ฉ์ ํผํ ์ ์์ต๋๋ค.
inline ์ฌ์ฉ ์ ์ฃผ์์ฌํญ
์ฝ๋ ํฌ๊ธฐ ์ฆ๊ฐ
inline
ํค์๋๋ฅผ ๋จ์ฉํ๋ฉด ํจ์ ๋ณธ๋ฌธ์ด ์ฌ๋ฌ ๊ณณ์ ์ฝ์
๋์ด ์ฝ๋ ํฌ๊ธฐ๊ฐ ์ฆ๊ฐํ ์ ์์ต๋๋ค. ์ด๋ ์ฑ๋ฅ ์ ํ๋ฅผ ์ด๋ํ ์ ์์ต๋๋ค.
noinline ํค์๋
ํน์ ๋๋ค๋ฅผ ์ธ๋ผ์ธํํ์ง ์์ผ๋ ค๋ฉด noinline
ํค์๋๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
anotherAction
์ ์ธ๋ผ์ธํ๋์ง ์๊ณ , ๋ณ๋์ ๊ฐ์ฒด๋ก ์ ์ง๋ฉ๋๋ค.
crossinline ํค์๋
๋๋ค์์ ๋น์ง์ญ ๋ฐํ์ด ํ์ํ ๊ฒฝ์ฐ crossinline
ํค์๋๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
crossinline
์ ๋น์ง์ญ ๋ฐํ์ ๋ฐฉ์งํ์ฌ ๋ฐํ์ ์ค๋ฅ๋ฅผ ๋ฐฉ์งํฉ๋๋ค.
inline์ ๋์ ํ๋ฆ
์ปดํ์ผ ์์
ํจ์ ๋ณธ๋ฌธ์ด ํธ์ถ ์์น์ ์ฝ์ ๋๊ณ , ๋๋ค ์บก์ฒ์ ์ํ ์ต๋ช ๊ฐ์ฒด ์์ฑ์ด ์ ๊ฑฐ๋ฉ๋๋ค.
์คํ ์์
ํธ์ถ ์ค๋ฒํค๋์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น์ด ์ค์ด๋ค๊ณ , ์ฝ์ ๋ ์ฝ๋๊ฐ ์ง์ ์คํ๋ฉ๋๋ค.
inline
ํค์๋๋ ๊ณ ์ฐจ ํจ์ ํธ์ถ๊ณผ ๋๋ค ํํ์ ์ฌ์ฉ์์ ์ฑ๋ฅ์ ์ต์ ํํ๋ ๊ฐ๋ ฅํ ๋๊ตฌ์
๋๋ค. ๊ทธ๋ฌ๋ ์ฝ๋ ํฌ๊ธฐ ์ฆ๊ฐ์ ๊ฐ์ ๋ถ์์ฉ์ ๊ณ ๋ คํ์ฌ ํ์ํ ๊ฒฝ์ฐ์๋ง ์ฌ์ฉํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. ๋ณธ ๊ธ์์๋ inline
์ ์ปดํ์ผ ์ ํ ๋์๊ณผ ์ด์ ์ ๋ถ์ํ๋ฉฐ, ์ต์ ํ ๋๊ตฌ๋ก์์ ๊ฐ๋ฅ์ฑ์ ํ๊ตฌํ์ต๋๋ค.
Last updated
Was this helpful?