ํ์ฌ ์
์ฌํ ํ์ฌ์์ ๋ฐฑ์๋ ์ธ์ด๋ ์ฝํ๋ฆฐ ๊ธฐ๋ฐ์ด๋ค.
์ฝํ๋ฆฐ์ ๋น ๋ฅด๊ฒ ์ ์ํด์ผ ํ๊ธฐ์, ์
์ฌ ์ ๋ถํฐ ํํํ ๊ฐ๋
์ ๊ณต๋ถํ์๋ค.
ํ์ง๋ง ๊ตฌ๊ธ๊ณผ ์ ํ๋ธ๋ ์ ๋ณด์ ๋์กํจ๊ณผ ํ๊ณ, ๊ทธ๋ฆฌ๊ณ ์ ๋ขฐ์ฑ์ด ๋จ์ด์ง๋ค.
ํ์คํ ์ธ์ด ๋ฐ ๋ฐฑ์๋ ๊ณต๋ถ๋ ์ฑ
์ด ์ง๋ฆฌ๋ผ๋ ๊ฒ์ด ๋ด ์ ๋ก ์ด๋ค..ใ
ใ
์
์ฌ ์ฒซ ๋ ์ฌ์ ๋ถ๊ป ์ฝํ๋ฆฐ ๊ด๋ จ ์์ ์ด ์๋์ง ์ฌ์ญค๋ดค๊ณ , ๊ฐ์ฌํ๊ฒ๋ ํ์พํ [์ฝํ๋ฆฐ ์ธ ์ก์
] ์ฑ
์ ๋น๋ ค์ฃผ์
จ๋ค.
์ฑ
์ ๋ค๊ณ ํด๊ทผํ๊ณ , ๊ทธ ๋ ๋ฐค๋ถํฐ ๋ฐ๋ก ์ฝ๊ธฐ ์์ํ๋ค.
์ผ์ด ๋ง์ ๋ , ๋๋ฌด ํผ๊ณคํ ๋ ๊ณผ ์ผ์ ์ด ์๋ ๋ ์ ์ ์ธํ ๋ฐค 11์์๋ 1์๊ฐ ๊ผญ ๋
์๋ฅผ ํ๊ณ ์์๋ ๋ค์ง๊ณผ ํจ๊ป.
์ ์ฝํ์ง ์์ ๊ฒ์ ์ผ๋ คํ์ง๋ง, ๋คํํ ์ด ์ฑ
์ด ์งํฅํ๊ณ ์ ํ๋ ๋ฐ๋ ๊ธฐ์กด ์๋ฐ ๊ฐ๋ฐ์์๊ฒ ์ด์ ์ด ๋ง์ถฐ์ ธ ์๋ ๊ฒ์ด ์ฐธ ์ธ์ ๊น์๋ค.
์ฑ
์ ๊ธฐ์กด ์๋ฐ ์ฝ๋์ ๋น๊ตํ๋ฉฐ, ์ฝํ๋ฆฐ์์๋ ์ด๋ฅผ ์ด๋ค์์ผ๋ก ๋ฐ๊ฟ ์์ฑํ๋์ง ์์ธํ ์งํํด ๋์๋ค.
์๋ฐ ์ฝ๋๋ฅผ ๋จผ์ ์ค๋ช
ํ๊ณ ์ฝํ๋ฆฐ์์๋ ์๋ฐ์ ๋จ์ ์ ์ฝํ๋ฆฐ์ด ์ด๋ป๊ฒ ๊ฐ์ ํ๋์ง๋ฅผ ํํํ๋ ํจ์ฌ ์ดํดํ๊ธฐ ์์ํ๋ค.
์ฝํ๋ฆฐ์ด ์งํฅํ๊ณ ์ ํ๋ ํํ ์ค์์ [๊ด๋ก] ๋ผ๋ ํํ์ด ์๋๋ฐ,
์ด๋ฅผ ํ
๋ฉด Map ์ด๋ List ์์ ํค๋ ์ธ๋ฑ์ค์ ํด๋นํ๋ ๊ฐ์ ๊ฐ์ ธ์ฌ ๋ ๋ฉ์๋๋ฅผ ํธ์ถํ๋ ๊ฒ์ด ์๋ ["~~" ] ์ ํตํด ๊ฐ์ ธ ์ค๋ ๊ฒ์ด๋ผ๋์ง, for ๋ฃจํ์์์ ์ธ๊ฐ์ด ์ฝ๊ธฐ์ ๊ฐ๋
์ฑ์ ์ธก๋ฉด์์ ํฅ์์ ๋ถ๋ฌ์ฌ ์ ์๋ ํํ๋ค์ด ์ฐธ ์ธ์ ๊น์๋ค.
๋ชจ๋ ๊ฐ๋ฐ์๋ค์ด ๊ฐ์ฅ ์ซ์ดํ๋ "์ค๋ณต".
์ด๊ฒ์ ์ฝํ๋ฆฐ์ ๊ฐ๋ฐํ ๊ฐ๋ฐ์๋ค์ด ๋๊ฒผ์ ๋ฆฌ ์๋ค.
์ด๋ฅผ ์กฐ๊ธ์ด๋ผ๋ ๊ฐ์ ํ๊ธฐ ์ํ ๋ฒ์ ์ง์ ํจ์์ ์์ ๊ฐ์ฒด. ์ฐธ ์ธ์ ๊น์๋ค.
์๋ฐ์ ๋น๊ตํ์ ๋, ์ฝ๋๊ฐ ํ ์ค์ด๊ฐ๋ ๊ฒ์ ๋๊ผ๋ค.
๋, ๊ฐ์ฅ ์ธ์ ๊น์๋ ๋ถ๋ถ์ ์๋ฌด๋๋ ๋๋ค์ด๋ค.
ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ด ๋ฑ์ฅํ๋ฉด์ ๊ธฐ์กด ๋ช
๋ น, ์ ์ธํ ํ๋ก๊ทธ๋๋ฐ์์ ๋ฒ์ด๋ ์ผ๊ธ ๊ฐ์ฒด, ์ผ๊ธ ํจ์๋ฅผ ์ฌ์ฉํ๋ฉฐ ํ๋์ ์คํธ๋ฆผ์ผ๋ก ์ฝ๋๋ฅผ ์์ฑํ๋ ๋ฐฉ์์ด ๊ฐ๋ฐ๊ณ์ ํฐ ํ์ฅ์ ์ผ์ผ์ผฐ๋ค.
์ด์ ์ธ ์ฆ์จ, ์ฝ๋ ์์ฑ์ด ๊ฐํธํด์ง๊ณ ๋์ ๋๋ฉฐ, ์ฌ์ด๋ ์ดํํธ๊ฐ ์๋ ๊ฒ์ ๋ณด์ฅํ๊ธฐ์ ์ ์ง ๋ณด์์ ํจ์ฌ ๋์์ด ๋๊ธฐ ๋๋ฌธ์ด๋ค.
ํจ์ ํ์
์ฑํฐ๋ฅผ ์ฝ์ผ๋ฉฐ, ๊ณ ์ฐจ ํจ์๋ผ๋ ๊ฐ๋
์ ์ํ ์๊ฐ ํจ์๋ฅผ ๊ณต๋ถํ ๊ฒ์ ์๊ฐํ๋ฉฐ ์ฝ์ผ๋ ์ฐธ ๋งค๋ ฅ์ ์ธ ์ธ์ด๋ผ๋ ๊ฒ์ ์ค๊ฐํ๊ฒ ๋์๋ค.
๊ฐ๋จํ ํจ์์ ํํ์ ์ฝํ๋ฆฐ์ด ๋๋ค๋ก ํ์ด๋๊ณ , ๋๋ค ๋ง์ ์๋ฐ์์ ๋ ๊ฐ์ ๋ ๊ฐ๋
์ฑ ๋์ ๋ฌธ๋ฒ์ ์งํฅํ๋ฉฐ ํํํ๋ ๊ฒ์ ๊ธฐ์กด์ ์๋ฐ๋ฅผ ๊ณต๋ถํ๋ ๋์๊ฒ๋ ์ ์ ํ ์ถฉ๊ฒฉ์ด์๋ค.
๋๋ ์น ๋ฐฑ์๋ ๊ณต๋ถ๋ฅผ ํ๋ ์ฌ๋ ์ค ๊ฐ์ฒด ์งํฅ์ ์ ๋๋ก ๊ณต๋ถํด์๋ค๊ณ ์๊ฐํ๋ค.
์คํ๋ง ํ๋ ์์ํฌ์ ๋ํ ๊ณต๋ถ, ์น ๊ฐ๋ฐ ๊ณผ์ ์ค ์ฌ๋ฌ ๊ฐ์ง ๊ณ ๋ ค ์ฌํญ, ๊ฐ์ฒด ์งํฅ ์ ์ฝ๋ ์์ฑ ๋ฐฉ์๊ณผ ๋์๊ฐ์ ์ํคํ
์ฒ์ ์ค๊ณ ๊ณ ๋ฏผ ๋ฑ์ ์ฌ๋ฌ ํผ๋๋ฐฑ์ ๋ฐ์๊ฐ๋ฉฐ ๊ฐ์ ํ๋ฉฐ ์ฒดํํ์๋ค.
"์ถ์ํ๋ ํ๋ก๊ทธ๋จ ์ธ๊ณ์์ ๊ฐ์ฒด ๊ฐ์ ์ ๊ธฐ์ ์ธ ์ํธ์์ฉ. ๊ฐ์ฒด๋ฅผ ์ด์ ์๋ ์กด์ฌ๋ก ๋ณด์. ๊ทธ๋ฆฌ๊ณ ๊ทธ ๊ฐ์ฒด๊ฐ ๋งก์ ์ง์ ํ ์ฑ
์์ ๋
ธ๋ ค๋ณด์."
๊ทธ๋์ ๋ด ์์ค ๋ด์์ ํผ์ ์์ ๋ฉ์ธ ์คํ๋ง ํ๋ก์ ํธ์ ์ ์ฉ ์์ผ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์๋ค. ์ด์ ๋ ์ฝํ๋ฆฐ ์ฐจ๋ก๋ค.
์ฝํ๋ฆฐ๋ ๋น์ฐํ ๊ฐ์ฒด ์งํฅ์ ๊ธฐ๋ณธ ๋ฒ ์ด์ค๋ก ๊น๊ณ ๊ฐ๋ฏ๋ก ๋ด๊ฐ ๋ชธ์ ์ตํ ์๋ ์ฝ๋ ์์ฑ ๋ฐฉ์์ ๊ฐ์ ธ ๊ฐ๋ ์ด์ ๋ ์ฝํ๋ฆฐ์ด ์ ๊ณตํ๋ ํจ์์ ์ฝ๋ ์์ฑ ๋ฐฉ๋ฒ๋ ์ต์ํด์ ธ์ผ ํ๋ค๊ณ ๋๋๋ค.
์ค๋๊น์ง ์ฝ์ [์ฝํ๋ฆฐ ์ธ ์ก์
] ์ด๋ผ๋ ์ฑ
์ ๊ธฐ์กด์ ์๋ฐ ๊ฐ๋ฐ์์๊ฒ ์ฝํ๋ฆฐ์ ์ธ๊ณ๋ฅผ ์ฒดํ์์ผ์ค ๊ฐ์์ผ๋ก ํํํ ์ ์๊ฒ ๋ค.
๋์๊ฐ ์ฝํ๋ฆฐ์ด ์ง์ฌ์ผ๋ก ์งํฅํ๊ณ ์ ํ๋ ์ฝ๋ ์์ฑ ๋ฐฉ์์ ์ฒดํํ๊ธฐ ์ํด์๋ ๊ธฐ์กด ์๋ฐ ๊ฐ๋ฐ์๋ค์ ํ๋
๋์ [์ดํํฐ๋ธ ์๋ฐ]์ ๋น์ทํ ๊ฒฐ์ธ [์ดํํฐ๋ธ ์ฝํ๋ฆฐ]์ ์ฝ์ด ๋ณผ ์๊ฐ์ด๋ค.
์ค๋ ๊น์ง ์ฝ์๋ ์ฝ์ธ์ก์ ํตํด ์ป์ ์ง์์ผ๋ก ์งํํ๋ ํ๋ก์ ํธ์ ๊ธฐํ๊ฐ ๋๋ค๋ฉด ์ ์ฉ์์ผ๋ณด๊ณ ์ถ๋ค.
๊ทธ๋ฆฌ๊ณ ์ดํํฐ๋ธ ์ฝํ๋ฆฐ์ ์ฝ์ด๊ฐ๋ฉฐ ์ฝํ๋ฆฐ์ ์ฝ๋๋ก ๊ฐ์ ํด๋ณด๊ณ ์ถ๋ค.
์ฝํ๋ฆฐ์ ์
๋ฌธํ๋ ์๋ฐ ๊ฐ๋ฐ์๋ค์๊ฒ ์ฝ์ธ์ก์ ์ ๊ทน ์ถ์ฒํ๋ฉฐ ์ด๋ง ๋ง๋ฌด๋ฆฌ ํด๋ณธ๋ค.
๐ Kotlin
[๊ฐ์๋ฌธ] Kotlin In Action์ ์ฝ๊ณ
๋ฐ์ํ