์ฝํ๋ฆฐ ๋ฌธ๋ฒ2 [Chap 5] ์ฝํ๋ฆฐ์ ์ ์ฉํ ๊ธฐ๋ฒ ๋๋ค ํจ์์ ๊ณ ์ฐจ ํจ์ ๋๋ค ํจ์(๋๋ค์) - ์ต๋ช ํจ์(anonymous funciton) ์ ์ ๊ธฐ๋ฒ - ์ฃผ๋ก ํจ์๋ฅผ ๊ฐ๋จํ๊ฒ ์ ์ํ ๋ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ๊ณ ์ฐจ ํจ์์ ๋ง์ด ์ฌ์ฉ * ๊ณ ์ฐจํจ์ : ํจ์๋ฅผ ๋งค๊ฐ๋ณ์๋ก ์ ๋ฌ๋ฐ๊ฑฐ๋ ๋ฐํํ๋ ํจ์ ๋๋ค ํจ์ ์ ์ธ๊ณผ ํธ์ถ fun ํค์๋๋ฅผ ์ด์ฉํ์ง ์์ผ๋ฉฐ ํจ์ ์ด๋ฆ์ด ์์. -> ์ฃผ๋ก ๋๋ค ํจ์๋ฅผ ๋ณ์์ ๋์ ํด ์ฌ์ฉ { ๋งค๊ฐ๋ณ์ -> ํจ์ ๋ณธ๋ฌธ } * ๋๋ค ํจ์ ์ฌ์ฉ ๊ท์น - ์ค๊ดํธ { } ๋ก ํํ - { } ์์ ํ์ดํ(->)๊ฐ ์์ผ๋ฉฐ ํ์ดํ ์ผ์ชฝ์ ๋งค๊ฐ๋ณ์, ์ค๋ฅธ์ชฝ์ ํจ์ ๋ณธ๋ฌธ - ํจ์์ ๋ฐํ๊ฐ์ ํจ์ ๋ณธ๋ฌธ์ ๋ง์ง๋ง ํํ์ // ๋๋ค ํจ์๋ฅผ ๋ณ์์ ๋์ val sum = {no1: Int, no2: Int -> no1 + no2} sum(10, 20) // ๋๋ค .. 2021. 11. 23. [Chap 3] ์ฝํ๋ฆฐ ์์ํ๊ธฐ ์ฝํ๋ฆฐ ์ธ์ด ์๊ฐ ์ฝํ๋ฆฐ์ ๋ฑ์ฅ ๋ฐฐ๊ฒฝ - ์ฝํ๋ฆฐ์ด๋? JetBrains์์ ์คํ ์์ค ๊ทธ๋ฃน์ ๋ง๋ค์ด ๊ฐ๋ฐํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด. - ์๋ฐ์ ๊ฐ์๋จธ์ ์ธ JVM์ ๊ธฐ๋ฐ์ ๋ ์ธ์ด. ์ฝํ๋ฆฐ์ ์ฅ์ 1) ํํ๋ ฅ๊ณผ ๊ฐ๊ฒฐํจ(expressive and concise) : ์๋ฐ๋ณด๋ค ๊ฐ๊ฒฐํ ๊ตฌ๋ฌธ 2) ์์ ํ ์ฝ๋(safer code) : ์ฝํ๋ฆฐ์ Null safety๋ฅผ ์ง์ -> ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋จ์์ ๊ฐ์ฒด๋ ๋ ์ํ์ผ ์ ์์ผ๋ฉฐ, ์ด ๋ NullPointerException์ด ๋ฐ์ํ ์ ์๋๋ฐ ์ฝํ๋ฆฐ์์๋ ๋ณ์๋ฅผ nullable๊ณผ not null๋ก ๊ตฌ๋ถํด์ ์ ์ธํ๊ธฐ ๋๋ฌธ์ null๊ณผ ๊ด๋ จ๋ ์ฌ๋ฌ ๋ถ๋ถ์ ์ปดํ์ผ๋ฌ๊ฐ ํด๊ฒฐ 3) ์ํธ ์ด์ฉ์ฑ(interoperable) : ์ฝํ๋ฆฐ์ ์๋ฐ์ 100% ํธํ. ์๋ฐ์ ์ฝํ๋ฆฐ ํผ์ฉ ๊ฐ๋ฅ .. 2021. 11. 19. ์ด์ 1 ๋ค์