ํจ์ํ ํ๋ก๊ทธ๋๋ฐ ์์น๊ณผ ๋ค์ํ ์ฐ์ ๋ฐ ๊ธ๋ก๋ฒ ์ํํธ์จ์ด ๊ฐ๋ฐ ํ๊ฒฝ์์์ ์ค์ ์ ์ฉ ์ฌ๋ก๋ฅผ ํ์ํฉ๋๋ค.
์ค์ฉ์ ์ธ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ ์์น: ๊ธ๋ก๋ฒ ๊ด์
ํจ์ํ ํ๋ก๊ทธ๋๋ฐ(FP)์ ํ์ ํจ๋ฌ๋ค์์์ ์ํํธ์จ์ด ๊ฐ๋ฐ์ ์ฃผ๋ฅ ์ ๊ทผ ๋ฐฉ์์ผ๋ก ์ ํ๋์์ต๋๋ค. ๋ถ๋ณ์ฑ, ์์ ํจ์ ๋ฐ ์ ์ธ์ ์คํ์ผ์ ๋ํ ๊ฐ์กฐ๋ ํนํ ์ค๋๋ ์ ๋ณต์กํ๊ณ ๋์์ฑ ๋ฐ ๋ถ์ฐ ์์คํ ์์ ์ค๋๋ ฅ ์๋ ์ด์ ์ ์ ๊ณตํฉ๋๋ค. ์ด ๊ธ์ FP์ ํต์ฌ ์์น์ ํ๊ตฌํ๊ณ ๋ค์ํ ์๋๋ฆฌ์ค์์ ์ค์ ์ ์ฉ์ ์ค๋ช ํ๋ฉฐ, ๊ธ๋ก๋ฒ ์ํํธ์จ์ด ๊ฐ๋ฐ ๋งฅ๋ฝ์์์ ๊ด๋ จ์ฑ์ ๊ฐ์กฐํฉ๋๋ค.
ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ด๋?
ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ ๋ณธ์ง์ ์ผ๋ก ๊ณ์ฐ์ ์ํ์ ํจ์์ ํ๊ฐ๋ก ์ทจ๊ธํ๊ณ ์ํ ๋ณ๊ฒฝ ๋ฐ ๊ฐ๋ณ ๋ฐ์ดํฐ๋ฅผ ํผํ๋ ์ ์ธ์ ํ๋ก๊ทธ๋๋ฐ ํจ๋ฌ๋ค์์ ๋๋ค. ์ด๋ ํ๋ก๊ทธ๋จ์ ์ํ๋ฅผ ๋ณ๊ฒฝํ๋ ์ผ๋ จ์ ๋ฌธ์ฅ์ ์ค์ฌ์ผ๋ก ํ๋ก๊ทธ๋จ์ด ๊ตฌ์ถ๋๋ ๋ช ๋ นํ ํ๋ก๊ทธ๋๋ฐ๊ณผ๋ ๊ทน๋ช ํ ๋์กฐ๋ฅผ ์ด๋ฃน๋๋ค. FP๋ ์ด๋ป๊ฒ ๊ณ์ฐํ ์ง๋ณด๋ค๋ ๋ฌด์์ ๊ณ์ฐํ ์ง์ ์ค์ ์ ๋ก๋๋ค.
ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ ํต์ฌ ์์น
ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ ๋ท๋ฐ์นจํ๋ ํต์ฌ ์์น์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
๋ถ๋ณ์ฑ
๋ถ๋ณ์ฑ์ ๋ฐ์ดํฐ ๊ตฌ์กฐ๊ฐ ํ ๋ฒ ์์ฑ๋๋ฉด ์ํ๋ฅผ ์์ ํ ์ ์์์ ์๋ฏธํฉ๋๋ค. ์๋ณธ ๋ฐ์ดํฐ๋ฅผ ๋ณ๊ฒฝํ๋ ๋์ , ์์ ์ ์ํ๋ ๋ณ๊ฒฝ ์ฌํญ์ด ํฌํจ๋ ์ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ์์ฑํฉ๋๋ค. ์ด๋ ๋๋ฒ๊น , ๋์์ฑ ๋ฐ ํ๋ก๊ทธ๋จ ๋์ ์ถ๋ก ์ ๊ทน์ ์ผ๋ก ๋จ์ํํฉ๋๋ค.
์์: ์ฌ์ฉ์ ์ด๋ฆ ๋ชฉ๋ก์ ๊ณ ๋ คํด ๋ด ์๋ค. ๋ช ๋ นํ ๋ฐฉ์์์๋ ์์๋ฅผ ์ง์ ์ถ๊ฐํ๊ฑฐ๋ ์ ๊ฑฐํ์ฌ ์ด ๋ชฉ๋ก์ ์์ ํ ์ ์์ต๋๋ค. ํจ์ํ ๋ฐฉ์์์๋ ์๋ณธ ๋ชฉ๋ก์ ๊ทธ๋๋ก ๋๊ณ ์ํ๋ ์์ ์ฌํญ์ด ํฌํจ๋ ์ ๋ชฉ๋ก์ ์์ฑํฉ๋๋ค.
์ด์ :
- ๋๋ฒ๊น ๋จ์ํ: ๋ฐ์ดํฐ๋ ์์ฑ ํ ์ ๋ ๋ณ๊ฒฝ๋์ง ์์ผ๋ฏ๋ก ์ค๋ฅ์ ์์ธ์ ์ถ์ ํ๊ธฐ๊ฐ ๋ ์ฝ์ต๋๋ค.
- ๋์์ฑ ํฅ์: ๋ถ๋ณ ๋ฐ์ดํฐ๋ ๋ณธ์ง์ ์ผ๋ก ์ค๋ ๋๋ก๋ถํฐ ์์ ํ๋ฉฐ, ๋์์ฑ ํ๋ก๊ทธ๋จ์์ ์ ๊ธ ๋ฐ ๊ธฐํ ๋๊ธฐํ ๋ฉ์ปค๋์ฆ์ด ํ์ ์์ต๋๋ค. ์ด๋ ์๋ฒ์ ์ฌ์ฉ์๊ฐ ์ง๋ฆฌ์ ์ผ๋ก ๋ถ์ฐ๋์ด ์๋ ๊ธ๋ก๋ฒ ํ๊ฒฝ์์ ํ์ฅ ๊ฐ๋ฅํ๊ณ ์ฑ๋ฅ์ด ๋ฐ์ด๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ๋ ๋ฐ ์ค์ํฉ๋๋ค.
- ์์ธก ๊ฐ๋ฅ์ฑ ํฅ์: ํ๋ก๊ทธ๋จ ์คํ ๋ด๋ด ๋ฐ์ดํฐ๊ฐ ์ผ๊ด๋๊ฒ ์ ์ง๋๋ค๋ ์ฌ์ค์ ์๋ฉด ๋์์ ์ถ๋ก ํ๊ธฐ๊ฐ ๋ ์ฝ์ต๋๋ค.
์์ ํจ์
์์ ํจ์๋ ํญ์ ๋์ผํ ์ ๋ ฅ์ ๋ํด ๋์ผํ ์ถ๋ ฅ์ ๋ฐํํ๋ฉฐ ๋ถ์ ํจ๊ณผ๊ฐ ์์ต๋๋ค. ๋ถ์ ํจ๊ณผ์๋ ์ ์ญ ์ํ ์์ , I/O ์์ ์ํ(์: ํ์ผ ๋๋ ๋คํธ์ํฌ์ ์ฐ๊ธฐ), ์ธ๋ถ ์์คํ ๊ณผ์ ์ํธ ์์ฉ์ด ํฌํจ๋ฉ๋๋ค.
์์: ์ซ์์ ์ ๊ณฑ์ ๊ณ์ฐํ๋ ํจ์๋ ์์ ํจ์์ ๋๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ ์ฝ๋๋ฅผ ์ ๋ฐ์ดํธํ๊ฑฐ๋ ์ฝ์์ ์ธ์ํ๋ ํจ์๋ ์์ ํจ์๊ฐ ์๋๋๋ค.
์ด์ :
- ํ ์คํธ ์ฉ์ด์ฑ: ์์ ํจ์๋ ์ถ๋ ฅ์ด ์ ๋ ฅ์๋ง ์์กดํ๋ฏ๋ก ํ ์คํธํ๊ธฐ๊ฐ ๋งค์ฐ ์ฝ์ต๋๋ค. ๊ฐ๋จํ ๋จ์ ํ ์คํธ๋ฅผ ์์ฑํ์ฌ ์ ํ์ฑ์ ํ์ธํ ์ ์์ต๋๋ค.
- ๊ตฌ์ฑ ์ฉ์ด์ฑ: ์์ ํจ์๋ ๋ ๋ณต์กํ ํจ์๋ฅผ ๋ง๋ค๊ธฐ ์ํด ์ฝ๊ฒ ๊ฒฐํฉํ ์ ์์ต๋๋ค. ์ด๋ฌํ ๋ชจ๋์ฑ์ ์ฝ๋๋ฅผ ๋ ์ ์ง ๊ด๋ฆฌํ๊ธฐ ์ฝ๊ณ ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ๊ฒ ๋ง๋ญ๋๋ค.
- ๋ณ๋ ฌํ: ์์ ํจ์๋ ๋ฐ์ดํฐ ์์์ด๋ ๊ฒฝ์ ์กฐ๊ฑด ์ํ ์์ด ๋ณ๋ ฌ๋ก ์คํํ ์ ์์ต๋๋ค. ์ด๋ ๊ณ์ฐ ์ง์ฝ์ ์ธ ์์ ์ ํนํ ์ค์ํฉ๋๋ค.
๊ณ ์ฐจ ํจ์
๊ณ ์ฐจ ํจ์๋ ๋ค๋ฅธ ํจ์๋ฅผ ์ธ์๋ก ๋ฐ๊ฑฐ๋ ํจ์๋ฅผ ๊ฒฐ๊ณผ๋ก ๋ฐํํ ์ ์์ต๋๋ค. ์ด๋ ๊ฐ๋ ฅํ ์ถ์ํ์ ์ฝ๋ ์ฌ์ฌ์ฉ์ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค.
์์: `map`, `filter`, `reduce` ํจ์๋ ๊ณ ์ฐจ ํจ์์ ์ผ๋ฐ์ ์ธ ์์ ๋๋ค. `map`์ ๋ชฉ๋ก์ ๊ฐ ์์์ ์ฃผ์ด์ง ํจ์๋ฅผ ์ ์ฉํ๊ณ , `filter`๋ ์ ์ด(์ฐธ ๋๋ ๊ฑฐ์ง์ ๋ฐํํ๋ ํจ์)์ ๋ฐ๋ผ ์์๋ฅผ ์ ํํ๋ฉฐ, `reduce`๋ ๋ชฉ๋ก์ ์์๋ฅผ ๋จ์ผ ๊ฐ์ผ๋ก ๊ฒฐํฉํฉ๋๋ค.
์ด์ :
- ์ถ์ํ: ๊ณ ์ฐจ ํจ์๋ฅผ ์ฌ์ฉํ๋ฉด ์ผ๋ฐ์ ์ธ ํจํด์ ์ถ์ํํ๊ณ ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ์ฝ๋๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค.
- ์ฝ๋ ์ฌ์ฌ์ฉ: ํจ์๋ฅผ ์ธ์๋ก ์ ๋ฌํจ์ผ๋ก์จ ๊ณ ์ฐจ ํจ์์ ๋์์ ๋ค์ ์์ฑํ ํ์ ์์ด ์ฌ์ฉ์ ์ ์ํ ์ ์์ต๋๋ค.
- ์ ์ฐ์ฑ: ๊ณ ์ฐจ ํจ์๋ ๋ณต์กํ ์๊ณ ๋ฆฌ์ฆ์ ์ค๊ณํ๊ณ ๊ตฌํํ๋ ๋ฐ ๋์ ์์ค์ ์ ์ฐ์ฑ์ ์ ๊ณตํฉ๋๋ค.
์ฌ๊ท
์ฌ๊ท๋ ํจ์๊ฐ ์์ฒด ์ ์ ๋ด์์ ์์ ์ ํธ์ถํ๋ ํ๋ก๊ทธ๋๋ฐ ๊ธฐ๋ฒ์ ๋๋ค. ์ด๋ ๋ ์๊ณ ์๊ธฐ ์ ์ฌํ ํ์ ๋ฌธ์ ๋ก ๋ถํด๋ ์ ์๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ์์ฐ์ค๋ฌ์ด ๋ฐฉ๋ฒ์ ๋๋ค. ํน์ ์ธ์ด์์๋ ๋ฐ๋ณต ์๋ฃจ์ ๋ณด๋ค ์ฑ๋ฅ์ด ๋จ์ด์ง ์ ์์ง๋ง, ๋ฃจํ์์ ์ฌ์ฉ๋๋ ๊ฐ๋ณ ์ํ๋ฅผ ํผํ๋ฏ๋ก ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ ์ด์์ ๋๋ค.
์์: ์ซ์์ ํฉํ ๋ฆฌ์ผ์ ๊ณ์ฐํ๋ ๊ฒ์ ์ฌ๊ท์ ์ผ๋ก ํด๊ฒฐํ ์ ์๋ ๋ฌธ์ ์ ๊ณ ์ ์ ์ธ ์์ ๋๋ค. n์ ํฉํ ๋ฆฌ์ผ์ n * factorial(n-1)๋ก ์ ์๋๋ฉฐ, ๊ธฐ๋ณธ ๊ฒฝ์ฐ๋ factorial(0) = 1์ ๋๋ค.
์ด์ :
- ์ฐ์ํจ: ์ฌ๊ท ์๋ฃจ์ ์ ํนํ ํน์ ์ ํ์ ๋ฌธ์ ์ ๋ํด ๋ฐ๋ณต ์๋ฃจ์ ๋ณด๋ค ๋ ์ฐ์ํ๊ณ ์ดํดํ๊ธฐ ์ฌ์ธ ์ ์์ต๋๋ค.
- ์ํ์ ๋์: ์ฌ๊ท๋ ๋ง์ ํจ์ ๋ฐ ๋ฐ์ดํฐ ๊ตฌ์กฐ์ ์ํ์ ์ ์๋ฅผ ๋ฐ์ํ์ฌ ์ํ์ ๊ฐ๋ ์ ์ฝ๋๋ก ๋ ์ฝ๊ฒ ๋ณํํ ์ ์๋๋ก ํฉ๋๋ค.
์ฐธ์กฐ ํฌ๋ช ์ฑ
์์ ํ๋ก๊ทธ๋จ์ ๋์์ ๋ณ๊ฒฝํ์ง ์๊ณ ๊ฐ์ผ๋ก ๋์ฒด๋ ์ ์๋ค๋ฉด ์ฐธ์กฐ ํฌ๋ช ํฉ๋๋ค. ์ด๋ ์์ ํจ์์ ๋ถ๋ณ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๋ ์ง์ ์ ์ธ ๊ฒฐ๊ณผ์ ๋๋ค.
์์: `f(x)`๊ฐ ์์ ํจ์์ธ ๊ฒฝ์ฐ `f(x)`๋ ์ฐธ์กฐ ํฌ๋ช ํฉ๋๋ค. `f(x)`์ ๋ชจ๋ ๋ฐ์์ ๊ฐ์ผ๋ก ๋์ฒดํด๋ ํ๋ก๊ทธ๋จ์ ๊ฒฐ๊ณผ์ ์ํฅ์ ๋ฏธ์น์ง ์์ต๋๋ค.
์ด์ :
- ๋ฐฉ์ ์ ์ถ๋ก : ์ฐธ์กฐ ํฌ๋ช ์ฑ์ ํตํด ์ํ์์์ ๋ง์ฐฌ๊ฐ์ง๋ก ๊ฐ๋จํ ๋์ฒด๋ฅผ ์ฌ์ฉํ์ฌ ํ๋ก๊ทธ๋จ์ ์ถ๋ก ํ ์ ์์ต๋๋ค.
- ์ต์ ํ: ์ปดํ์ผ๋ฌ๋ ์ฐธ์กฐ ํฌ๋ช ์ฑ์ ํ์ฉํ์ฌ ์์ ํจ์ ํธ์ถ ๊ฒฐ๊ณผ๋ฅผ ์บ์ฑํ๊ฑฐ๋ ๋ค๋ฅธ ๋ณํ์ ์ํํ์ฌ ์ฝ๋๋ฅผ ์ต์ ํํ ์ ์์ต๋๋ค.
์ค์ฉ์ ์ธ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ: ์ค์ ์ฌ๋ก
ํจ์ํ ํ๋ก๊ทธ๋๋ฐ ์์น์ ๊ด๋ฒ์ํ ์ฐ์ ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ์ฉ๋๊ณ ์์ต๋๋ค. ๋ช ๊ฐ์ง ์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
๊ธ์ต ๋ชจ๋ธ๋ง
๊ธ์ต ๋ชจ๋ธ๋ง์๋ ๋์ ์ ํ์ฑ๊ณผ ์์ธก ๊ฐ๋ฅ์ฑ์ด ์๊ตฌ๋ฉ๋๋ค. ๋ถ๋ณ์ฑ๊ณผ ์์ ํจ์์ ๋ํ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ ๊ฐ์กฐ๋ ๊ฒฌ๊ณ ํ๊ณ ์ ๋ขฐํ ์ ์๋ ๊ธ์ต ๋ชจ๋ธ์ ๊ตฌ์ถํ๋ ๋ฐ ๋งค์ฐ ์ ํฉํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ์ํ ์งํ๋ฅผ ๊ณ์ฐํ๊ฑฐ๋ ์์ฅ ์๋๋ฆฌ์ค๋ฅผ ์๋ฎฌ๋ ์ด์ ํ๋ ๊ฒ์ ์์ ํจ์๋ก ์ํ๋ ์ ์์ด ๊ฒฐ๊ณผ๊ฐ ํญ์ ์ผ๊ด๋๊ณ ์ฌํ ๊ฐ๋ฅํ๋๋ก ๋ณด์ฅํฉ๋๋ค.
์์: ๊ธ๋ก๋ฒ ํฌ์ ์ํ์ ํ์ค์ผ ๋๋ ์ค์นผ๋ผ์ ๊ฐ์ ํจ์ํ ์ธ์ด๋ฅผ ์ฌ์ฉํ์ฌ ์ํ ๊ด๋ฆฌ ์์คํ ์ ๊ตฌ์ถํ ์ ์์ต๋๋ค. ๋ฐ์ดํฐ ๊ตฌ์กฐ์ ๋ถ๋ณ์ฑ์ ์ฐ๋ฐ์ ์ธ ์์ ์ ๋ฐฉ์งํ๊ณ ๊ธ์ต ๋ฐ์ดํฐ์ ๋ฌด๊ฒฐ์ฑ์ ๋ณด์ฅํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค. ์์ ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ณต์กํ ์ํ ์งํ๋ฅผ ๊ณ์ฐํ ์ ์์ผ๋ฉฐ, ๊ณ ์ฐจ ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ค์ํ ์ ํ์ ๊ธ์ต ์ํ์ ๋ํ ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ๊ตฌ์ฑ ์์๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค.
๋ฐ์ดํฐ ์ฒ๋ฆฌ ๋ฐ ๋ถ์
ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ๋ฐ ๋ถ์์ ์์ฐ์ค๋ฝ๊ฒ ์ ํฉํฉ๋๋ค. `map`, `filter`, `reduce` ์์ ์ ๋ฐ์ดํฐ ์กฐ์์ ๊ธฐ๋ณธ ๊ตฌ์ฑ ์์์ ๋๋ค. ์ํ์น ์คํํฌ(Apache Spark)์ ๊ฐ์ ํ๋ ์์ํฌ๋ ๋๊ท๋ชจ ๋ฐ์ดํฐ ์ธํธ์ ๋ณ๋ ฌ ์ฒ๋ฆฌ๋ฅผ ๊ฐ๋ฅํ๊ฒ ํ๊ธฐ ์ํด ํจ์ํ ํ๋ก๊ทธ๋๋ฐ ์์น์ ํ์ฉํฉ๋๋ค.
์์: ๋ค๊ตญ์ ์ ์์๊ฑฐ๋ ๊ธฐ์ ์ ์ํ์น ์คํํฌ(ํจ์ํ ์ธ์ด์ธ ์ค์นผ๋ผ๋ก ์์ฑ๋จ)๋ฅผ ์ฌ์ฉํ์ฌ ๊ณ ๊ฐ ํ๋์ ๋ถ์ํ๊ณ ์ถ์ฒ์ ๊ฐ์ธํํ ์ ์์ต๋๋ค. ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ ๋ฐ์ดํฐ ๋ณ๋ ฌ ๊ธฐ๋ฅ์ ๋๊ท๋ชจ ๋ฐ์ดํฐ ์ธํธ๋ฅผ ๋น ๋ฅด๊ณ ํจ์จ์ ์ผ๋ก ์ฒ๋ฆฌํ ์ ์๋๋ก ํฉ๋๋ค. ๋ถ๋ณ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํ๋ฉด ๋ถ์ฐ ๋ ธ๋ ์ ์ฒด์์ ๋ฐ์ดํฐ ๋ณํ์ด ์ผ๊ด๋๊ณ ์ ๋ขฐํ ์ ์๋๋ก ๋ณด์ฅ๋ฉ๋๋ค.
์น ๊ฐ๋ฐ
ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ ์น ๊ฐ๋ฐ์์ ํนํ ๋ฆฌ์กํธ(๋ถ๋ณ ์ํ ๋ฐ ์์ ์ปดํฌ๋ํธ ๊ฐ์กฐ)์ ๊ฐ์ ํ๋ ์์ํฌ์ ์๋ฐ์คํฌ๋ฆฝํธ(๋๋ค ํํ์ ๋ฐ ๊ณ ์ฐจ ํจ์์ ๊ฐ์ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ ๊ธฐ๋ฅ์ ์ง์)์ ๊ฐ์ ์ธ์ด์ ๋ถ์๊ณผ ํจ๊ป ์ฃผ๋ชฉ์ ๋ฐ๊ณ ์์ต๋๋ค. ์ด๋ฌํ ๋๊ตฌ๋ฅผ ํตํด ๊ฐ๋ฐ์๋ ๋ ์ ์ง ๊ด๋ฆฌํ๊ธฐ ์ฝ๊ณ ํ ์คํธํ๊ธฐ ์ฌ์ฐ๋ฉฐ ํ์ฅ ๊ฐ๋ฅํ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ ์ ์์ต๋๋ค.
์์: ์ ์ธ๊ณ์ ๋ถ์ฐ๋ ์ํํธ์จ์ด ๊ฐ๋ฐ ํ์ ๋ฆฌ์กํธ์ ๋ฆฌ๋์ค(๋ถ๋ณ์ฑ์ ์์ฉํ๋ ์ํ ๊ด๋ฆฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ)๋ฅผ ์ฌ์ฉํ์ฌ ๋ณต์กํ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ ์ ์์ต๋๋ค. ์์ ์ปดํฌ๋ํธ์ ๋ถ๋ณ ์ํ๋ฅผ ์ฌ์ฉํจ์ผ๋ก์จ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์์ธก ๊ฐ๋ฅํ๊ณ ๋๋ฒ๊ทธํ๊ธฐ ์ฝ๋๋ก ๋ณด์ฅํ ์ ์์ต๋๋ค. ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ ๋ํ ๋ณต์กํ ์ํธ ์์ฉ์ ๊ฐ์ง ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ฅผ ๊ตฌ์ถํ๋ ํ๋ก์ธ์ค๋ฅผ ๋จ์ํํฉ๋๋ค.
๊ฒ์ ๊ฐ๋ฐ
๋ค๋ฅธ ์์ญ๋งํผ ๋๋ฆฌ ์ฌ์ฉ๋์ง๋ ์์ง๋ง, ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ ๊ฒ์ ๊ฐ๋ฐ์์ ํนํ ๊ฒ์ ์ํ ๊ด๋ฆฌ ๋ฐ ๋ณต์กํ ๋ก์ง ์ฒ๋ฆฌ์ ์ด์ ์ ์ ๊ณตํ ์ ์์ต๋๋ค. F# (ํจ์ํ ๋ฐ ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ๋ชจ๋ ์ง์)๊ณผ ๊ฐ์ ์ธ์ด๋ ๊ฒ์ ์์ง ๋ฐ ๋๊ตฌ๋ฅผ ๊ตฌ์ถํ๋ ๋ฐ ์ฌ์ฉ๋ ์ ์์ต๋๋ค.
์์: ์ธ๋ ๊ฒ์ ๊ฐ๋ฐ์๋ F#์ ์ฌ์ฉํ์ฌ ๊ฒ์ ์ธ๊ณ๋ฅผ ๋ํ๋ด๊ธฐ ์ํด ๋ถ๋ณ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ์์ง์ ๋ง๋ค ์ ์์ต๋๋ค. ์ด๋ ๊ฒ์ ์ํ๋ฅผ ๊ด๋ฆฌํ๊ณ ๊ฒ์ ๊ฐ์ฒด ๊ฐ์ ๋ณต์กํ ์ํธ ์์ฉ์ ์ฒ๋ฆฌํ๋ ํ๋ก์ธ์ค๋ฅผ ๋จ์ํํ ์ ์์ต๋๋ค. ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ ๋ํ ์ ์ฐจ์ ์ฝํ ์ธ ์์ฑ ์๊ณ ๋ฆฌ์ฆ์ ๋ง๋๋ ๋ฐ ์ฌ์ฉ๋ ์ ์์ต๋๋ค.
๋์์ฑ ๋ฐ ๋ณ๋ ฌ ์ฒ๋ฆฌ
ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ ๋ถ๋ณ์ฑ๊ณผ ์์ ํจ์๋ฅผ ๊ฐ์กฐํ๊ธฐ ๋๋ฌธ์ ๋์์ฑ ๋ฐ ๋ณ๋ ฌ ํ๊ฒฝ์์ ํ์ํฉ๋๋ค. ์ด๋ฌํ ์์ฑ์ ๋ช ๋ นํ ํ๋ก๊ทธ๋จ์์ ๋ฒ๊ทธ ๋ฐ ์ฑ๋ฅ ๋ณ๋ชฉ ํ์์ ์ฃผ์ ์์ธ์ด ๋ ์ ์๋ ์ ๊ธ ๋ฐ ๊ธฐํ ๋๊ธฐํ ๋ฉ์ปค๋์ฆ์ ํ์์ฑ์ ์์ฑ๋๋ค. ์๋ฅผ๋(๊ณ ๋๋ก ๋์์ฑ ์๊ณ ๊ฒฐํจ ํ์ฉ ์์คํ ๊ตฌ์ถ์ฉ์ผ๋ก ์ค๊ณ๋จ)๊ณผ ๊ฐ์ ์ธ์ด๋ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ ์์น์ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค.
์์: ๊ธ๋ก๋ฒ ํต์ ํ์ฌ๋ ์๋ฅผ๋์ ์ฌ์ฉํ์ฌ ์๋ฐฑ๋ง ๊ฑด์ ๋์ ํตํ๋ฅผ ์ฒ๋ฆฌํ๋ ์์คํ ์ ๊ตฌ์ถํ ์ ์์ต๋๋ค. ์๋ฅผ๋์ ๊ฒฝ๋ ํ๋ก์ธ์ค์ ๋ฉ์์ง ์ ๋ฌ ๋์์ฑ ๋ชจ๋ธ์ ๊ณ ๋๋ก ํ์ฅ ๊ฐ๋ฅํ๊ณ ํ๋ ฅ์ ์ธ ์์คํ ์ ๊ตฌ์ถํ ์ ์๋๋ก ํฉ๋๋ค. ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ ๋ถ๋ณ์ฑ๊ณผ ์์ ํจ์๋ ์์คํ ์ด ์ ๋ขฐํ ์ ์๊ณ ์ ์ง ๋ณด์ํ๊ธฐ ์ฝ๋๋ก ๋ณด์ฅํฉ๋๋ค.
๊ธ๋ก๋ฒ ๋งฅ๋ฝ์์ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ ์ด์
ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ ์ฅ์ ์ ๊ธ๋ก๋ฒ ์ํํธ์จ์ด ๊ฐ๋ฐ ํ๊ฒฝ์์ ๋์ฑ ์ฆํญ๋ฉ๋๋ค:
- ์ฝ๋ ํ์ง ํฅ์: ๋ถ๋ณ์ฑ ๋ฐ ์์ ํจ์์ ๋ํ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ ๊ฐ์กฐ๋ ๋ ์์ธก ๊ฐ๋ฅํ๊ณ ํ ์คํธํ๊ธฐ ์ฌ์ฐ๋ฉฐ ์ ์ง ๊ด๋ฆฌํ๊ธฐ ์ฌ์ด ์ฝ๋๋ก ์ด์ด์ง๋๋ค. ์ด๋ ์ฝ๋๊ฐ ์ข ์ข ๋ค๋ฅธ ์์น์ ๋ค๋ฅธ ๊ธฐ์ ์ธํธ๋ฅผ ๊ฐ์ง ๊ฐ๋ฐ์์ ์ํด ์์ฑ ๋ฐ ์ ์ง ๊ด๋ฆฌ๋๋ ๋๊ท๋ชจ ๋ถ์ฐ ํ์์ ํนํ ์ค์ํฉ๋๋ค.
- ํ์ ๊ฐํ: ํจ์ํ ์ฝ๋์ ๋ช ํ์ฑ๊ณผ ์์ธก ๊ฐ๋ฅ์ฑ์ ๊ฐ๋ฐ์๊ฐ ์๋ก ํ๋ ฅํ๊ณ ์๋ก์ ์ฝ๋๋ฅผ ์ดํดํ๊ธฐ ์ฝ๊ฒ ๋ง๋ญ๋๋ค. ์ด๋ ์์ฌ ์ํต์ ๊ฐ์ ํ๊ณ ์ค๋ฅ ์ํ์ ์ค์ผ ์ ์์ต๋๋ค.
- ๋๋ฒ๊น ์๊ฐ ๋จ์ถ: ๋ถ์ ํจ๊ณผ ๋ฐ ๊ฐ๋ณ ์ํ์ ๋ถ์ฌ๋ ํจ์ํ ์ฝ๋์ ๋๋ฒ๊น ์ ํจ์ฌ ์ฝ๊ฒ ๋ง๋ญ๋๋ค. ์ด๋ ํนํ ์ด๋ฐํ ๋ง๊ฐ ๊ธฐํ์ด ์๋ ๋ณต์กํ ํ๋ก์ ํธ์์ ์๊ฐ๊ณผ ๋น์ฉ์ ์ ์ฝํ ์ ์์ต๋๋ค. ์คํ ๊ฒฝ๋ก๊ฐ ํจ์ ์ ๋ ฅ ๋ฐ ์ถ๋ ฅ์ผ๋ก ๋ช ํํ๊ฒ ์ ์๋ ๋ ์ค๋ฅ์ ๊ทผ๋ณธ ์์ธ์ ์ฐพ๋ ๊ฒ์ด ํจ์ฌ ์ฝ์ต๋๋ค.
- ํ์ฅ์ฑ ์ฆ๊ฐ: ๋์์ฑ ๋ฐ ๋ณ๋ ฌ ์ฒ๋ฆฌ์ ๋ํ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ ์ง์์ ๋๊ท๋ชจ ์ํฌ๋ก๋๋ฅผ ์ฒ๋ฆฌํ ์ ์๋ ํ์ฅ ๊ฐ๋ฅํ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ๊ธฐ ์ฝ๊ฒ ๋ง๋ญ๋๋ค. ์ด๋ ๊ธ๋ก๋ฒ ์์ฅ์์ ์ด์ํ๊ณ ๋ค๋ฅธ ์๊ฐ๋์ ์๋ ์ฌ์ฉ์์๊ฒ ์๋น์ค๋ฅผ ์ ๊ณตํด์ผ ํ๋ ํ์ฌ์ ํ์์ ์ ๋๋ค.
- ํฅ์๋ ๊ฒฐํจ ํ์ฉ: ๋ถ๋ณ์ฑ ๋ฐ ์์ ํจ์์ ๋ํ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ ๊ฐ์กฐ๋ ์ค๋ฅ๋ก๋ถํฐ ์ฐ์ํ๊ฒ ๋ณต๊ตฌํ ์ ์๋ ๊ฒฐํจ ํ์ฉ ์์คํ ์ ๊ตฌ์ถํ๊ธฐ ์ฝ๊ฒ ๋ง๋ญ๋๋ค. ์ด๋ ๊ธ์ต ๊ฑฐ๋ ํ๋ซํผ ๋๋ ์ ์ ์๊ฑฐ๋ ์น์ฌ์ดํธ์ ๊ฐ์ด ์ฐ์ค๋ฌดํด๋ก ์ฌ์ฉํ ์ ์์ด์ผ ํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋งค์ฐ ์ค์ํฉ๋๋ค.
ํจ์ํ ํ๋ก๊ทธ๋๋ฐ ์ฑํ์ ๊ณผ์
ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ ๋ง์ ์ด์ ์ ์ ๊ณตํ์ง๋ง, ์ฑํ๊ณผ ๊ด๋ จ๋ ๋ช ๊ฐ์ง ๊ณผ์ ๋ ์์ต๋๋ค:
- ํ์ต ๊ณก์ : ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ ๋ช ๋ นํ ํ๋ก๊ทธ๋๋ฐ๊ณผ๋ ๋ค๋ฅธ ์ฌ๊ณ ๋ฐฉ์์ ์๊ตฌํฉ๋๋ค. ๋ช ๋ นํ ์คํ์ผ๋ก ์ฝ๋๋ฅผ ์์ฑํ๋ ๋ฐ ์ต์ํ ๊ฐ๋ฐ์๋ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ ๊ฐ๋ ๋ฐ ๊ธฐ์ ์ ๋ฐฐ์ฐ๋ ๋ฐ ์ด๋ ค์์ ๋๋ ์ ์์ต๋๋ค.
- ์ฑ๋ฅ ๊ณ ๋ ค ์ฌํญ: ์ด๋ค ๊ฒฝ์ฐ์๋ ํจ์ํ ํ๋ก๊ทธ๋จ์ด ๋ช ๋ นํ ํ๋ก๊ทธ๋จ๋ณด๋ค ์ฑ๋ฅ์ด ๋จ์ด์ง ์ ์์ต๋๋ค. ํนํ ์ฌ๋ฐ๋ฅด๊ฒ ์ต์ ํ๋์ง ์์ ๊ฒฝ์ฐ ๋์ฑ ๊ทธ๋ ์ต๋๋ค. ๊ทธ๋ฌ๋ ์ต์ ํจ์ํ ์ธ์ด ๋ฐ ํ๋ ์์ํฌ๋ ์ข ์ข ํจ์ํ ์ฝ๋๋ฅผ ์ต์ ํํ๊ธฐ ์ํ ๋๊ตฌ ๋ฐ ๊ธฐ์ ์ ์ ๊ณตํฉ๋๋ค. ์ฌ๋ฐ๋ฅธ ๋ฐ์ดํฐ ๊ตฌ์กฐ์ ์๊ณ ๋ฆฌ์ฆ์ ์ ํํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
- ์ํ๊ณ ์ฑ์๋: ํจ์ํ ํ๋ก๊ทธ๋๋ฐ ์ํ๊ณ๋ ๋น ๋ฅด๊ฒ ์ฑ์ฅํ๊ณ ์์ง๋ง, ์ฌ์ ํ ๋ช ๋ นํ ํ๋ก๊ทธ๋๋ฐ ์ํ๊ณ๋งํผ ์ฑ์ํ์ง๋ ์์ต๋๋ค. ์ด๋ ํน์ ์์ ์ ์ฌ์ฉํ ์ ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฐ ๋๊ตฌ๊ฐ ์ ์ ์ ์์์ ์๋ฏธํฉ๋๋ค. ์ผ๋ถ ์ง์ญ์์๋ ์๋ จ๋ ํจ์ํ ํ๋ก๊ทธ๋๋จธ๋ฅผ ์ฐพ๋ ๊ฒ๋ ์ด๋ ค์ธ ์ ์์ต๋๋ค.
- ๊ธฐ์กด ์์คํ ๊ณผ์ ํตํฉ: ํจ์ํ ์ฝ๋๋ฅผ ๊ธฐ์กด ๋ช ๋ นํ ์์คํ ๊ณผ ํตํฉํ๋ ๊ฒ์ ์ด๋ ค์ธ ์ ์์ต๋๋ค. ํนํ ์์คํ ์ด ๊ธด๋ฐํ๊ฒ ๊ฒฐํฉ๋์ด ์๊ณ ๊ฐ๋ณ ์ํ์ ํฌ๊ฒ ์์กดํ๋ ๊ฒฝ์ฐ ๋์ฑ ๊ทธ๋ ์ต๋๋ค.
๊ณผ์ ๊ทน๋ณต
ํจ์ํ ํ๋ก๊ทธ๋๋ฐ ์ฑํ์ ๊ณผ์ ๋ฅผ ๊ทน๋ณตํ๊ธฐ ์ํ ๋ช ๊ฐ์ง ์ ๋ต์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- ์๊ฒ ์์: ์ฝ๋๋ฒ ์ด์ค์ ์๊ณ ๊ณ ๋ฆฝ๋ ๋ถ๋ถ์ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ ๊ฐ๋ ๋ฐ ๊ธฐ์ ์ ๋์ ํ๋ ๊ฒ๋ถํฐ ์์ํ์ญ์์ค. ์ด๋ฅผ ํตํด ํ์ ์ ์ฒด ํ๋ก์ ํธ๋ฅผ ๋ฐฉํดํ์ง ์๊ณ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ ๊ฒฝํ์ ์ป์ ์ ์์ต๋๋ค.
- ๊ต์ก ์ ๊ณต: ๊ฐ๋ฐ์๋ค์ด ํจ์ํ ํ๋ก๊ทธ๋๋ฐ ๊ฐ๋ ๋ฐ ๊ธฐ์ ์ ๋ฐฐ์ธ ์ ์๋๋ก ๊ต์ก์ ํฌ์ํ์ญ์์ค. ์ฌ๊ธฐ์๋ ์จ๋ผ์ธ ๊ฐ์ข, ์ํฌ์, ๋ฉํ ๋ง์ด ํฌํจ๋ ์ ์์ต๋๋ค.
- ์ฌ๋ฐ๋ฅธ ๋๊ตฌ ์ ํ: ํ๋ก์ ํธ์ ์ ํฉํ๊ณ ๊ฐ๋ ฅํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฐ ๋๊ตฌ ์ํ๊ณ๋ฅผ ๊ฐ์ง ํจ์ํ ์ธ์ด ๋ฐ ํ๋ ์์ํฌ๋ฅผ ์ ํํ์ญ์์ค.
- ์ฝ๋ ํ์ง์ ์ง์ค: ์ฒ์๋ถํฐ ์ฝ๋ ํ์ง ๋ฐ ํ ์คํธ ์ฉ์ด์ฑ์ ๊ฐ์กฐํ์ญ์์ค. ์ด๋ ์ค๋ฅ๋ฅผ ์กฐ๊ธฐ์ ํ์ ํ๊ณ ํจ์ํ ์ฝ๋๊ฐ ์ ๋ขฐํ ์ ์๋์ง ํ์ธํ๋ ๋ฐ ๋์์ด ๋ ๊ฒ์ ๋๋ค.
- ๋ฐ๋ณต ์์ฉ: ๊ฐ๋ฐ์ ๋ฐ๋ณต์ ์ธ ์ ๊ทผ ๋ฐฉ์์ ์ฑํํ์ญ์์ค. ์ด๋ฅผ ํตํด ์ค์๋ฅผ ํตํด ๋ฐฐ์ฐ๊ณ ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ํจ์ํ ์ฝ๋๋ฅผ ๊ฐ์ ํ ์ ์์ต๋๋ค.
์ธ๊ธฐ ์๋ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด
๋ค์์ ๊ฐ์ฅ ์ธ๊ธฐ ์๋ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ์ค ์ผ๋ถ์ ๋๋ค:
- ํ์ค์ผ(Haskell): ๊ฐ๋ ฅํ ํ์ ์์คํ ๊ณผ ์ง์ฐ ํ๊ฐ๋ก ์ ๋ช ํ ์์ ํจ์ํ ์ธ์ด์ ๋๋ค. ํ๊ณ์์๋ ๊ณ ๋๋ก ์ ๋ขฐํ ์ ์๋ ์์คํ ์ ๊ตฌ์ถํ๋ ๋ฐ ์์ฃผ ์ฌ์ฉ๋ฉ๋๋ค.
- ์ค์นผ๋ผ(Scala): ํจ์ํ ๋ฐ ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ๋ชจ๋ ์ง์ํ๋ ๋ค์ค ํจ๋ฌ๋ค์ ์ธ์ด์ ๋๋ค. JVM(Java Virtual Machine)์์ ํ์ฅ ๊ฐ๋ฅํ๊ณ ๋์์ฑ ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ๋ ๋ฐ ์ธ๊ธฐ๊ฐ ์์ต๋๋ค.
- ์๋ฅผ๋(Erlang): ๊ณ ๋๋ก ๋์์ฑ ์๊ณ ๊ฒฐํจ ํ์ฉ ์์คํ ์ ๊ตฌ์ถํ๊ธฐ ์ํด ์ค๊ณ๋ ํจ์ํ ์ธ์ด์ ๋๋ค. ํต์ ์ฐ์ ์์ ๊ด๋ฒ์ํ๊ฒ ์ฌ์ฉ๋ฉ๋๋ค.
- F#(F#): .NET ํ๋ซํผ์์ ์คํ๋๋ ํจ์ํ ์ธ์ด์ ๋๋ค. ํจ์ํ ๋ฐ ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ๋ชจ๋ ์ง์ํ๋ฉฐ ๋ฐ์ดํฐ ์ง์ฝ์ ์ธ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ๋ ๋ฐ ์์ฃผ ์ฌ์ฉ๋ฉ๋๋ค.
- ์๋ฐ์คํฌ๋ฆฝํธ(JavaScript): ์์ ํจ์ํ์ ์๋์ง๋ง, ๋๋ค ํํ์ ๋ฐ ๊ณ ์ฐจ ํจ์์ ๊ฐ์ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ ๊ธฐ๋ฅ์ ์ง์ํฉ๋๋ค. ์น ๊ฐ๋ฐ์์ ๊ด๋ฒ์ํ๊ฒ ์ฌ์ฉ๋ฉ๋๋ค.
- ํ์ด์ฌ(Python): ํ์ด์ฌ ๋ํ ๋๋ค ํํ์, map, filter, reduce์ ๊ฐ์ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ ๊ธฐ๋ฅ์ ์ง์ํฉ๋๋ค. ์์ ํจ์ํ์ ์๋์ง๋ง, ๋ค๋ฅธ ํจ๋ฌ๋ค์๊ณผ ํจ๊ป ํจ์ํ ํ๋ก๊ทธ๋๋ฐ ์คํ์ผ์ ํ์ฉํฉ๋๋ค.
- ํด๋ก์ (Clojure): JVM(Java Virtual Machine)์์ ์คํ๋๋ ๋ฆฌ์คํ(Lisp)์ ๋ฐฉ์ธ์ ๋๋ค. ๋ถ๋ณ์ฑ ๋ฐ ๋์์ฑ์ ๊ฐ์กฐํ๋ฉฐ ์น ์ ํ๋ฆฌ์ผ์ด์ ๋ฐ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ์์คํ ์ ๊ตฌ์ถํ๋ ๋ฐ ์์ฃผ ์ฌ์ฉ๋ฉ๋๋ค.
๊ฒฐ๋ก
ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ ํนํ ์ค๋๋ ์ ๋ณต์กํ๊ณ ๋์์ฑ ๋ฐ ๋ถ์ฐ ์์คํ ์์ ์ํํธ์จ์ด ๊ฐ๋ฐ์ ์๋นํ ์ด์ ์ ์ ๊ณตํฉ๋๋ค. ๋ถ๋ณ์ฑ, ์์ ํจ์ ๋ฐ ์ ์ธ์ ์คํ์ผ์ ๋ํ ๊ฐ์กฐ๋ ๋ ์์ธก ๊ฐ๋ฅํ๊ณ ํ ์คํธํ๊ธฐ ์ฌ์ฐ๋ฉฐ ์ ์ง ๊ด๋ฆฌํ๊ธฐ ์ฝ๊ณ ํ์ฅ ๊ฐ๋ฅํ ์ฝ๋๋ก ์ด์ด์ง๋๋ค. ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ ์ฑํํ๋ ๋ฐ ์ด๋ ค์์ด ์์ง๋ง, ์ ์ ํ ๊ต์ก, ๋๊ตฌ ๋ฐ ์ฝ๋ ํ์ง์ ๋ํ ์ง์ค์ ํตํด ์ด๋ฌํ ์ด๋ ค์์ ๊ทน๋ณตํ ์ ์์ต๋๋ค. ํจ์ํ ํ๋ก๊ทธ๋๋ฐ ์์น์ ์์ฉํจ์ผ๋ก์จ ๊ธ๋ก๋ฒ ์ํํธ์จ์ด ๊ฐ๋ฐ ํ์ ๊ธ๋ณํ๋ ์ธ์์ ์๊ตฌ๋ฅผ ์ถฉ์กฑํ๋ ๋ ๊ฒฌ๊ณ ํ๊ณ ์ ๋ขฐํ ์ ์์ผ๋ฉฐ ํ์ฅ ๊ฐ๋ฅํ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ ์ ์์ต๋๋ค.
ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ผ๋ก์ ์ ํ์ ๋ชฉ์ ์ง๊ฐ ์๋ ์ฌ์ ์ ๋๋ค. ํต์ฌ ์์น์ ์ดํดํ๊ณ , ํจ์ํ ์ธ์ด๋ฅผ ์คํํ๊ณ , ์ ์ง์ ์ผ๋ก ํจ์ํ ๊ธฐ์ ์ ํ๋ก์ ํธ์ ํตํฉํ๋ ๊ฒ๋ถํฐ ์์ํ์ญ์์ค. ๊ทธ ์ด์ ์ ๋ ธ๋ ฅํ ๊ฐ์น๊ฐ ์ถฉ๋ถํฉ๋๋ค.