์ฝํ๋ฆฐ ์์ธ ์ฒ๋ฆฌ์ ์ฝ๋ฃจํด ๊ธฐ๋ฐ ์ฅ์ ๋์
์์ธ ๋ถ๋ฅ, ์ฝ๋ฃจํด ํ์์์, ์ฌ์๋ ์ค๊ณ, ๋จ์ ํ ์คํธ, runCatching, lazy๋ฅผ ํ์ฉํ ์ฝํ๋ฆฐ ์คํจ ์ฒ๋ฆฌ ์ ๋ต์ ์ ๋ฆฌํ๋ค.
์์ธ ๋ถ๋ฅ, ์ฝ๋ฃจํด ํ์์์, ์ฌ์๋ ์ค๊ณ, ๋จ์ ํ ์คํธ, runCatching, lazy๋ฅผ ํ์ฉํ ์ฝํ๋ฆฐ ์คํจ ์ฒ๋ฆฌ ์ ๋ต์ ์ ๋ฆฌํ๋ค.
์ฝ๋ฃจํด์ ๋์ ์๋ฆฌ, CoroutineScope, Dispatcher, async/await, ๊ตฌ์กฐํ๋ ๋์์ฑ, Flow๊น์ง ์ฝํ๋ฆฐ ์ฝ๋ฃจํด์ ํต์ฌ ๊ฐ๋ ๊ณผ ์ค์ ํจํด์ ์ ๋ฆฌํ๋ค.
๋ ์์ ์ฑ, ์ค์ฝํ ํจ์, ์ปฌ๋ ์ ์ฐ์ฐ, ๋๋ค, ๊ณ ์ฐจ ํจ์, inline ํค์๋๊น์ง ์ฝํ๋ฆฐ ๋ฐ์ดํฐ ์ฒ๋ฆฌ์ ํต์ฌ ํจํด์ ์ ๋ฆฌํ๋ค.
์์ฑ์ ๊ฒ์ฆ, ์ ๊ทผ ์ ์ด, ์ธํฐํ์ด์ค, sealed class, ์ ๋ค๋ฆญ, by ์์, enum/value class๋ฅผ ํ์ฉํด ์์ ํ ๋๋ฉ์ธ ๋ชจ๋ธ์ ๋ง๋๋ ๋ฐฉ๋ฒ์ ์ ๋ฆฌํ๋ค.
var/val, ํจ์, ์ ์ด์, ๋ฌธ์์ด ํ ํ๋ฆฟ, ๋ฐ๋ณต๋ฌธ, ์์ธ ์ฒ๋ฆฌ๊น์ง ๋ฐฑ์๋ ์ฝ๋์์ ์์ฃผ ์ฐ๋ ์ฝํ๋ฆฐ ๊ธฐ์ด ๋ฌธ๋ฒ์ ์ ๋ฆฌํ๋ค.