์ฌ์ฉ์ ์ง์ ํจ์์ ๋งฅ๋ฝ์์ ์์ ํจ์๋ ๊ฒฐ์ ์ฑ๊ณผ ๋ถ์์ฉ ๋ถ์กฑ์ด๋ผ๋ ๋ ๊ฐ์ง ๊ธฐ๋ณธ ํน์ฑ์ ๊ฐ์ง ํจ์ ์ ํ์ ๋๋ค. ์ด๋ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ ํจ๋ฌ๋ค์์์ ์ค์ํ ์ญํ ์ ํ๋ฉฐ ์ํํธ์จ์ด ๊ฐ๋ฐ์ ์์ธก ๊ฐ๋ฅ์ฑ, ํ ์คํธ ๊ฐ๋ฅ์ฑ ๋ฐ ์ ์ง ๊ด๋ฆฌ ๊ฐ๋ฅ์ฑ์ ๋ํ ๊ธฐ๋ฐ์ ์ ๊ณตํฉ๋๋ค. AppMasterno-code ํ๋ซํผ์ ์ด๋ฌํ ํ๋ก๊ทธ๋๋ฐ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ์ค์ํ์ฌ ์ฌ์ฉ์๊ฐ ๋ค์ํ ๋๋ฉ์ธ์์ ํจ์จ์ ์ด๊ณ ์์ ์ ์ธ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค ์ ์๋๋ก ํฉ๋๋ค.
๊ฒฐ์ ๋ก ์ ๋์ผํ ์ ๋ ฅ์ด ์ฃผ์ด์ง๋ฉด ํญ์ ๋์ผํ ์ถ๋ ฅ์ ์์ฑํ๋ ํจ์์ ์์ฑ์ ๋ํ๋ ๋๋ค. ์ฆ, ํจ์์ ์ถ๋ ฅ์ ์ ๋ ฅ ๊ฐ์ ์ํด์๋ง ๊ฒฐ์ ๋๋ฉฐ ์ธ๋ถ ์ํ๋ ์์ธ์ ์ํฅ์ ๋ฐ์ง ์์ต๋๋ค. ์ด๋ ๊ฐ๋จํ ์ ์ถ๋ ฅ ๋น๊ต๋ฅผ ํตํด ๊ฒฐ์ ๋ก ์ ๊ธฐ๋ฅ์ ์ฒ ์ ํ๊ฒ ๊ฒ์ฌํ ์ ์์ผ๋ฏ๋ก ํ ์คํธ ๋ฐ ๋๋ฒ๊น ๊ณผ ๊ด๋ จํ์ฌ ํฐ ์ด์ ์ ์ ๊ณตํฉ๋๋ค.
์๋ฅผ ๋ค์ด ์ ์์ ์ ๊ณฑ์ ๊ณ์ฐํ๋ ํจ์๋ฅผ ์๊ฐํด ๋ณด์ธ์.
ํจ์ square(x) {
x * x๋ฅผ ๋ฐํํฉ๋๋ค;
}
square ํจ์๋ ๋์ผํ ์ ๋ ฅ ๊ฐ์ ๋ํด ํญ์ ๋์ผํ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ๋ฏ๋ก ๊ฒฐ์ ์ ์ ๋๋ค. ์ ๋ ฅ 3์ด ์ฃผ์ด์ง๋ฉด ์ธ๋ถ ์์ธ์ด๋ ์ ํ๋ฆฌ์ผ์ด์ ์ํ ๋ณํ์ ๊ด๊ณ์์ด ํญ์ ์ถ๋ ฅ 9๋ฅผ ์์ฑํฉ๋๋ค.
๋ถ์์ฉ์ด ์๋ค๋ ๊ฒ์ ์์ ํจ์๊ฐ ์ธ๋ถ ์ํ๋ฅผ ๋ณ๊ฒฝํ์ง ์๊ฑฐ๋ ํด๋น ๋ฒ์ ๋ฐ์์ ๊ด์ฐฐ ๊ฐ๋ฅํ ๋ณ๊ฒฝ์ ์์ฑํ์ง ์๋๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. ๋ณด๋ค ๊ตฌ์ฒด์ ์ผ๋ก ๋งํ๋ฉด ์ ๋ ฅ ๊ฐ์ด๋ ์ ์ญ ๋ณ์๋ฅผ ์์ ํ์ง ์์ผ๋ฉฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค, ํ์ผ ์์คํ ๋๋ ๋คํธ์ํฌ ์ฐ๊ฒฐ๊ณผ ๊ฐ์ ์ธ๋ถ ์์คํ ๊ณผ ์ํธ ์์ฉํ์ง๋ ์์ต๋๋ค. ์ด ์์ฑ์ ์ฌ์ฉํ๋ฉด ํจ์์ ๋์์ด ๊ฒฉ๋ฆฌ๋์ด ํจ์ ํธ์ถ ๊ฒฐ๊ณผ๋ฅผ ๋ ์ฝ๊ฒ ์ถ๋ก ํ๊ณ ์์ธกํ ์ ์์ต๋๋ค.
๊ณ์ํด์ ์ ๊ณฑ ํจ์ ์์ ๋ฅผ ์ดํด๋ณด๋ฉด ์ธ๋ถ ์ํ๋ฅผ ์์ ํ๊ฑฐ๋ I/O ์์ ์ ์ํํ์ง ์์ผ๋ฏ๋ก ๋ถ์์ฉ์ด ์๋ค๋ ๊ธฐ์ค์ ์ถฉ์กฑํฉ๋๋ค. ์ ๋ ฅ ๊ฐ์ ๋ํด์๋ง ์๋ํ๋ฉฐ ๋๋จธ์ง ์ ํ๋ฆฌ์ผ์ด์ ์ํ๋ ๋ณ๊ฒฝ๋์ง ์์ต๋๋ค.
์์ ํจ์์ ๋ค๋ฅธ ์๋ก๋ ์ฐ์ ์ฐ์ฐ, ๋ฌธ์์ด ์กฐ์, ์ํ ์ ์ฅ ๊ณ์ฐ์ด๋ I/O ์ฐ์ฐ์ ํฌํจํ์ง ์๋ ๋ฐ์ดํฐ ๋ณํ ๋ฑ์ด ์์ต๋๋ค.
์์ ๊ธฐ๋ฅ์ ์ํํธ์จ์ด ๊ฐ๋ฐ์ ์์ด ๋ช ๊ฐ์ง ์ฃผ์ ์ด์ ์ ์ ๊ณตํฉ๋๋ค. ๊ทธ๋ฌํ ์ฅ์ ์ค ํ๋๋ ์ฌ์ฌ์ฉ์ฑ ์ ๋๋ค. ์์ ํจ์๋ ์ ๋ ฅ๊ณผ ์ถ๋ ฅ์๋ง ์ด์ ์ ๋ง์ถ๊ธฐ ๋๋ฌธ์ ์๋ํ์ง ์์ ํจ๊ณผ๋ ์ํธ ์ข ์์ฑ์ ์ ๋ฐํ์ง ์๊ณ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฌ๋ฌ ๋ถ๋ถ์์ ์ฝ๊ฒ ์ฌ์ฌ์ฉํ ์ ์์ต๋๋ค. ๊ฒ๋ค๊ฐ ์์ ๊ธฐ๋ฅ์ ์๋์ ์ผ๋ก ์๊ณ ์ง์ค๋๋ ๊ฒฝํฅ์ด ์์ด ๋ฌธ์ ๋ถ๋ฆฌ์ ์ฝ๋ ๋ณต์ก์ฑ ๊ฐ์๋ฅผ ์ฅ๋ คํ๋ ๋ชจ๋์ ์ค๊ณ ์์น์ ์ฅ๋ คํฉ๋๋ค.
์์ ํจ์์ ๋ ๋ค๋ฅธ ์ด์ ์ ํ ์คํธ ๊ฐ๋ฅ์ฑ์ ๋๋ค. ๊ฒฐ์ ์ฑ๊ณผ ๋ถ์์ฉ์ด ์๊ธฐ ๋๋ฌธ์ ์์ ๊ธฐ๋ฅ์ ๋จ์ ํ ์คํธ๋ ์์ฑ ๊ธฐ๋ฐ ํ ์คํธ์ ๊ฐ์ ์๋ํ๋ ํ ์คํธ ์ ๊ทผ ๋ฐฉ์์ ํตํด ์ฝ๊ฒ ํ ์คํธํ ์ ์์ต๋๋ค. ์์ ํจ์์ ์์ธก ๊ฐ๋ฅํ ํน์ฑ์ ํ ์คํธ ์ผ์ด์ค ์์ฑ ํ๋ก์ธ์ค๋ฅผ ๋จ์ํํ๊ณ ๊ฐ๋ฐ ์ฃผ๊ธฐ ์ด๊ธฐ์ ๋ฌธ์ ๋ฅผ ๊ฐ์งํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
์์ ํจ์๋ ์ค๋ณต ๊ณ์ฐ์ ํผํ๊ธฐ ์ํด ํจ์ ํธ์ถ ๊ฒฐ๊ณผ๋ฅผ ์บ์ฑํ๋ ๋ฉ๋ชจ์ด์ ์ด์ ๊ณผ ๊ฐ์ ๋ค์ํ ์ต์ ํ ๊ธฐ์ ๋ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค. ์ด๋ ๋์ผํ ์ ๋ ฅ ๊ฐ์ด ๋ฐ๋ณต์ ์ผ๋ก ํจ์์ ์ ๋ฌ๋๋ ๊ฒฝ์ฐ ์ฑ๋ฅ์ด ํฌ๊ฒ ํฅ์๋ ์ ์์ต๋๋ค.
๋ง์ง๋ง์ผ๋ก, ์์ ๊ธฐ๋ฅ์ ๋จ์์ฑ, ๊ฐ๋ ์ฑ ๋ฐ ๋ชจ๋ ๊ธฐ๋ฐ ์ค๊ณ๋ฅผ ์ด์งํ์ฌ ์ํํธ์จ์ด์ ์ ์ง ๊ด๋ฆฌ๋ฅผ ๋์ฑ ์ฉ์ดํ๊ฒ ๋ง๋ญ๋๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก ์ํํธ์จ์ด ์์ง๋์ด๋ ์ฝ๋๋ฅผ ๋ ์ฝ๊ฒ ์ดํดํ๊ณ , ์์ ํ๊ณ , ํ์ฅํ๋ ๋์์ ๋ฒ๊ทธ์ ๊ธฐ์ ์ ๋ถ์ฑ๊ฐ ๋ฐ์ํ ์ํ์ ์ต์ํํ ์ ์์ต๋๋ค.
AppMaster ํ๋ซํผ์์ ์ฌ์ฉ์๋ ์์ ๊ธฐ๋ฅ์ ์ด์ ์ ํ์ฉํ์ฌ ์๋ฒ ๋ฐฑ์๋ ์ ํ๋ฆฌ์ผ์ด์ , ์น ์ ํ๋ฆฌ์ผ์ด์ ๋ฐ ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค ์ ์์ต๋๋ค. ์ด๋ฌํ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ํตํฉํจ์ผ๋ก์จ ์์ฑ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ธ์์ ์ธ ์ฑ๋ฅ, ํ์ฅ์ฑ ๋ฐ ์ ์ง ๊ด๋ฆฌ ๊ฐ๋ฅ์ฑ ํน์ฑ์ ๋ํ๋ด๋ฏ๋ก ์ค์๊ธฐ์ ์์ ๋๊ธฐ์ ์ ์ด๋ฅด๊ธฐ๊น์ง ๋ค์ํ ์ฐ์ ๋ถ์ผ์ ํ๋ก์ ํธ์ ์ ํฉํ ์ ํ์ด ๋ฉ๋๋ค.