๐ ์ ์ ๋์ ๐
ใ Clean Code(ํด๋ฆฐ ์ฝ๋):์ ์์ผ ์ํํธ์จ์ด ์ฅ์ธ ์ ์ ใ
-๋ก๋ฒํธ C. ๋งํด-
ใ Clean Architecture(ํด๋ฆฐ ์ํคํ ์ฒ):์ํํธ์จ์ด ๊ตฌ์กฐ์ ์ค๊ณ์ ์์น ใ
-๋ก๋ฒํธ C. ๋งํด-
*๋์ ์ด๋ฏธ์ง ์ถ์ฒ : https://product.kyobobook.co.kr/detail/S000001033082 / https://product.kyobobook.co.kr/detail/S000001032980
โ๏ธ ์ ํฌ ์กฐ๋ 2๋ช ์ด ๊ฐ๊ฐ ํด๋ฆฐ ์ฝ๋, ํด๋ฆฐ ์ํคํ ์ฒ ์ฑ ์ ์ ์ ํ์ฌ ์ฑ ์คํฐ๋๋ฅผ ์งํํ์ต๋๋ค! ์ด 4๋ฒ์ ์คํฐ๋๋ฅผ ํตํด ๊ฐ์ ์ฝ์ ์ ์๋ ๋ฒ์๋ฅผ ์ค์ ํ์๊ณ , ์คํฐ๋๋ฅผ ์งํํ๋ฉฐ ์๋ก ์ฑ ์ ํตํด ๋ฌด์์ ๋ฐฐ์ฐ๊ฒ ๋์๋์ง ์ธ์ ๊น์๋ ๋ด์ฉ์ ๊ณต์ ํ์ต๋๋ค. ์ด ๊ณผ์ ์ ์ ๋ฆฌํด ๋ณด๊ณ ์ ํฉ๋๋ค!๐
โ๏ธ ์ฑ ์ ์ ๋ฐฐ๊ฒฝ
ํด๋ฆฐ ์ฝ๋ -์ด๋ฏผ์ง
์ปดํจํฐํ๋ถ์ ๋ค๋๋ฉด์ ์ฒ์ 1๋ ์ ์๋ ์์ ํ๋ก์ ํธ๋ง ํ๊ฑฐ๋ ๊ต์๋์ด ๋ด์ฃผ์๋ ๊ณผ์ ๋ค๋ง ํ๋ค ๋ณด๋ ๊ทธ๋ฅ ์ ๋์๊ฐ๊ธฐ๋ง ํ๋ฉด ์ฅ๋ก์ด์์ต๋๋ค. ๊ทธ๋ฐ๋ฐ 2ํ๋ ๋ถํฐ ์ ์ ํ๋ก๊ทธ๋จ ๊ท๋ชจ๊ฐ ์ปค์ง๊ณ ํ ํ๋ก์ ํธ๋ค์ ํ๋ฉฐ ์ ๋์๊ฐ๋ ๊ฒ๋ฟ๋ง ์๋๋ผ ์ดํดํ๊ธฐ ์ฝ๊ณ ์ง์์ ์๊ฒ ์ฝ๋๋ฅผ ์ง๋ ๊ฒ์ ์ค์์ฑ์ ๋๊ผ์ต๋๋ค. ์ด์ ํด๋ฆฐ ์ฝ๋์ ๋ํ ๊ด์ฌ์ด ๋์์ก์ต๋๋ค. ์ฝ๋ฉ์ ํ๋ค ๋ณด๋ฉด, ํนํ ํ๋ก์ ํธ๋ฅผ ํ๋ค ๋ณด๋ฉด, ๋ด๊ฐ ์ง ์ฝ๋์์๋ ํท๊ฐ๋ฆด ๋๊ฐ ์๊ณ ์ฃผ์์ ๋ง์ด ๋ฌ๋ฉด ๋ ์ง์ ๋ถํด ๋ณด์ด๊ธฐ๋ ํด์ ์ด๋ฐ ๋ถ๋ถ์์ ํญ์ ํ๊ณ๋ฅผ ๋๊ผ์ต๋๋ค. ์ ๊ฐ ๊ณ ๋ฅธ ์ฑ ใํด๋ฆฐ ์ฝ๋ใ๋ ์๋ ์ ๋ช ํ ์ฑ ์ด๊ธฐ๋ ํด์ ๊ผญ ํ ๋ฒ์ฏค์ ์ฝ์ด๋ด์ผ์ง ํ๋ ์ฑ ์ ๋๋ค. ๋ฐ๋ผ์ ๋ฐ๋ณด์ ์ ์ฑ ์คํฐ๋๋ฅผ ์งํํ๋ค๊ณ ํ์ ๋ ๊ฐ์ฅ ๋จผ์ ์๊ฐ์ด ๋ฌ์ต๋๋ค!! โจ
ํด๋ฆฐ ์ํคํ ์ฒ -์๋์ฐ
๋ํ ๊ฐ์๋ฅผ ํตํด ์ฒ์ ์ ํ OOP๋ฅผ ๋ฐํ์ผ๋ก ์๋๋ก์ด๋ ๊ฐ๋ฐ์ ๋ํด์ ํ์ตํ๋ฉด์ MVC, MVP, MVVM๊ณผ ๊ฐ์ ์ํคํ ์ฒ ์ค๊ณ์ ๋ํด ๋ง์ ๊ด์ฌ์ ๊ฐ์ง๊ฒ ๋์์ต๋๋ค. ๋ฐ์ดํฐ์ ๋ทฐ๋ฅผ ๋ถ๋ฆฌํ๋ ๊ฒ์ ์ค์์ํ๋ฉด์ ๋ ๋์ ๊ตฌ์กฐ์ ๋ ๋์ ์ ์ง ๋ณด์๋ฅผ ์ํ ์ค๊ณ ๋ฐฉ์์ ๋ํด ํ์ตํ๊ณ ์ ํ๋ ์์ง๊ฐ ์์๊ณ , ๊ทธ ๊ณผ์ ์์ ํด๋ฆฐ ์ํคํ ์ฒ์ ๋ํด ์๊ฒ ๋์์ต๋๋ค. ์ฒ์์๋ ์ฌ๋ฌ ์ํฐํด๋ค์ ํตํด ๊ธฐ๋ณธ์ ์ธ ์ด๋ก ์ด๋ ๋ฐฉ๋ฒ๋ก ์ ๋ํด ์ ํ๊ฒ ๋์์ผ๋, ํด๋น ์ํคํ ์ฒ๋ฅผ ์ ์ํ ์ฌ๋์ ๊ธ์ ์ฝ๋ ๊ฒ๋ ์๋๋ฅผ ํ์ ํ๊ณ ๋ ๋์ ์ํํธ์จ์ด๋ฅผ ์ค๊ณํ๋๋ฐ ํฐ ๋์์ด ๋ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ์ฌ ๋ค๋ ๋ค๋ ์ ๋์๋ก ์ ์ ํ๊ฒ ๋์์ต๋๋ค.
โ๏ธ ๋์ ์๊ฐ
์ ์์ผ ์ํํธ์จ์ด์ ํ๋ช ์ ์ธ ํจ๋ฌ๋ค์์ ์ ์ํ๋ ์ฑ ์ด๋ค. ์ ์ ๋ก๋ฒํธ ๋งํด์ ์ค๋ธ์ ํธ ๋ฉํ (Object Mentor)์ ๋๋ฃ๋ค๊ณผ ํ์ ๋ชจ์ ‘๊ฐ๋ฐํ๋ฉฐ’ ํด๋ฆฐ ์ฝ๋๋ฅผ ๋ง๋๋ ์ต์์ ์ ์์ผ ๊ธฐ๋ฒ์ ์ ์ ํ์ฌใClean Code ํด๋ฆฐ ์ฝ๋ใ์ ๋ด์๋ค. ์์ฃผ ๋ง์ ์ฝ๋๋ฅผ ์ฝ๊ณ ๊ทธ ์ฝ๋์ ๋ฌด์์ด ์ณ์์ง, ๊ทธ๋ฅธ์ง ์๊ฐํ๋ฉฐ ์ ๋ฌธ๊ฐ๋ก์ ์์ ์ด ์ง๋๋ ๊ฐ์น๋ฅผ ๋์๋ณด๊ธฐ ์ํด ๊พธ์คํ ๋ ธ๋ ฅํ๋ค๋ฉด, ์ด ์ฑ ์ ํตํด ์ฌ๋ฌ๋ถ์ ํ๋ก๊ทธ๋๋ฐ ์ค๋ ฅ์ ํ์ธต ๋ ๋์์ง ๊ฒ์ด๋ค.
ใํด๋ฆฐ ์ฝ๋ใ์ ใํด๋ฆฐ ์ฝ๋ใ์ ์ ์์ด์ ์ ์ค์ ์ธ ์ํํธ์จ์ด ์ฅ์ธ์ธ ๋ก๋ฒํธ C. ๋งํด์ ์ด ์ฑ ใํด๋ฆฐ ์ํคํ ์ฒใ์์ ์ด๋ฌํ ๋ณดํธ ์์น๋ค์ ์ค๋ช ํ๊ณ ๋ ์๋ค์ด ์ค๋ฌด์ ์ ์ฉํ ์ ์๋๋ก ๋์์ค๋ค. ๋ณธ์๋ ์ํํธ์จ์ด ์ํคํ ํธ๊ฐ ํด๋ด์ผ ํ ์ผ๊ณผ ๊ทธ ์ผ์ ํด๋ด๊ธฐ ์ํ ๊ท์จ๊ณผ ์ค์ฒ๋ฒ์ ์ค๋ช ํ์๋ค. ๊ธฐ๋ฅ, ๊ตฌ์ฑ์์ ๋ถ๋ฆฌ, ๋ฐ์ดํฐ ๊ด๋ฆฌ๋ฅผ ์ํ ์ํํธ์จ์ด ์ค๊ณ ํต์ฌ ์์น์ ์๋ฌํ๊ณ ํ๋ก๊ทธ๋๋ฐ ํจ๋ฌ๋ค์์ด ๊ท์จ์ ๊ฐ์ ํ๊ธฐ ์ํด ๊ฐ๋ฐ์์ ์์ ๋ฅผ ์ด๋ป๊ฒ ์ ์ฝํ๋์ง ์์๋ณธ๋ค. ๋ํ, ์น, ๋ฐ์ดํฐ๋ฒ ์ด์ค, ๋ฆฌ์น ํด๋ผ์ด์ธํธ, ์ฝ์, ์๋ฒ ๋๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ณ ์์ค ๊ตฌ์กฐ๋ฅผ ์ต์ ํํ๊ณ , ์ํคํ ์ฒ๊ฐ ์๋ชป๋๋ ์ด์ ์ ์๋ชป๋ ๊ฒฐ๊ณผ๊ฐ ๋์ค์ง ์๊ฒ ์๋ฐฉํ๊ฑฐ๋ ๊ณ ์น๋ ๋ฐฉ๋ฒ์ ์ค๋ช ํ์๋ค.
*๋์ ์ ๋ณด ๊ด๋ จ ์ถ์ฒ : http://www.yes24.com/Product/Goods/77283734 / http://www.yes24.com/Product/Goods/11681152
โ๏ธ ์ฑ ์คํฐ๋ ์ฐจ์ ๋ณ ์ธ์ ๊น์๋ ๋ถ๋ถ ์ ๋ฆฌ
๐ 1์ฐจ ๋ค๋ ๋ค๋ ๐
ํด๋ฆฐ ์ฝ๋ -์ด๋ฏผ์ง
[2์ฅ ์๋ฏธ ์๋ ์ด๋ฆ]
<์์ ์ ๊ธฐ์ต๋ ฅ์ ์๋ํ์ง ๋ง๋ผ>
๋ ์๊ฐ ์ฝ๋๋ฅผ ์ฝ์ผ๋ฉด์ ๋ณ์ ์ด๋ฆ์ ์์ ์ด ์๋ ์ด๋ฆ์ผ๋ก ๋ณํํด์ผ ํ๋ค๋ฉด ๊ทธ ๋ณ์ ์ด๋ฆ์ ๋ฐ๋์งํ์ง ๋ชปํ๋ค. ๋ฃจํ๋ฅผ ์ ์ธํ๊ณ ๋ฌธ์ ํ๋๋ง ์ฌ์ฉํ๋ ๋ณ์ ์ด๋ฆ์ ๋ฌธ์ ๊ฐ ์๋ค. ๋๋ํ ํ๋ก๊ทธ๋๋จธ์ ์ ๋ฌธ๊ฐ ํ๋ก๊ทธ๋๋จธ ์ฌ์ด์์ ๋ํ๋๋ ์ฐจ์ด์ ํ๋๋ง ๋ค์๋ฉด, ์ ๋ฌธ๊ฐ ํ๋ก๊ทธ๋๋จธ๋ ๋ช ๋ฃํจ์ด ์ต๊ณ ๋ผ๋ ์ฌ์ค์ ์ดํดํ๋ค. ์ ๋ฌธ๊ฐ ํ๋ก๊ทธ๋๋จธ๋ ์์ ์ ๋ฅ๋ ฅ์ ์ข์ ๋ฐฉํฅ์ผ๋ก ์ฌ์ฉํด ๋จ๋ค์ด ์ดํดํ๋ ์ฝ๋๋ฅผ ๋ด๋๋๋ค.
<ํ ๊ฐ๋ ์ ํ ๋จ์ด๋ฅผ ์ฌ์ฉํ๋ผ>
์๋ฅผ ๋ค์ด ๋์ผ ์ฝ๋ ๊ธฐ๋ฐ์ controller, manager, driver๋ฅผ ์์ด ์ฐ๋ฉด ํผ๋์ค๋ฝ๋ค. ์ด๋ฆ์ด ๋ค๋ฅด๋ฉด ๋ ์๋ ๋น์ฐํ ๋ค๋ฅด๋ค๊ณ ์๊ฐํ๋ค. ์ผ๊ด์ฑ ์๋ ์ดํ๋ ์ฝ๋๋ฅผ ์ฌ์ฉํ ํ๋ก๊ทธ๋๋จธ๊ฐ ๋ฐ๊ฐ๊ฒ ์ฌ๊ธธ ์ ๋ฌผ์ด๋ค.
[3์ฅ ํจ์]
<์๊ฒ ๋ง๋ค์ด๋ผ!>
ํจ์๋ฅผ ๋ง๋๋ ์ฒซ์งธ ๊ท์น์ '์๊ฒ!'๋ค. ํจ์๋ฅผ ๋ง๋๋ ๋์งธ ๊ท์น์ '๋ ์๊ฒ!'๋ค.
<ํ ๊ฐ์ง๋ง ํด๋ผ!>
ํจ์๋ ํ ๊ฐ์ง๋ฅผ ํด์ผ ํ๋ค. ๊ทธ ํ ๊ฐ์ง๋ฅผ ์ ํด์ผ ํ๋ค. ๊ทธ ํ ๊ฐ์ง๋ง์ ํด์ผ ํ๋ค.
<์์ ์ ์ธ ์ด๋ฆ์ ์ฌ์ฉํ๋ผ!>
์ด๋ฆ์ด ๊ธธ์ด๋ ๊ด์ฐฎ๋ค. ๊ธธ๊ณ ์์ ์ ์ธ ์ด๋ฆ์ด ์งง๊ณ ์ด๋ ค์ด ์ด๋ฆ๋ณด๋ค ์ข๋ค. ์์ ์ ์ธ ์ด๋ฆ์ ์ฌ์ฉํ๋ฉด ๊ฐ๋ฐ์ ๋จธ๋ฆฟ์์์๋ ์ค๊ณ๊ฐ ๋๋ ทํด์ง๋ฏ๋ก ์ฝ๋๋ฅผ ๊ฐ์ ํ๊ธฐ ์ฌ์์ง๋ค. ์ด๋ฆ์ ๋ถ์ผ ๋๋ ์ผ๊ด์ฑ์ด ์์ด์ผํ๋ค. ๋ชจ๋ ๋ด์์ ํจ์ ์ด๋ฆ์ ๊ฐ์ ๋ฌธ๊ตฌ, ๋ช ์ฌ, ๋์ฌ๋ฅผ ์ฌ์ฉํ๋ค. includeSetupPages, includeSetupAndTeardownPages, includeSetupPage ๋ฑ์ด ์ข์ ์๋ค.
<ํจ์๋ฅผ ์ด๋ป๊ฒ ์ง์ฃ ?>
์ํํธ์จ์ด๋ฅผ ์ง๋ ํ์๋ ์ฌ๋ ๊ธ์ง๊ธฐ์ ๋น์ทํ๋ค. ๋ ผ๋ฌธ์ด๋ ๊ธฐ์ฌ๋ฅผ ์์ฑํ ๋๋ ๋จผ์ ์๊ฐ์ ใ ฃใฑ๋กํ ํ ์ฝ๊ธฐ ์ข๊ฒ ๋ค๋ฌ๋๋ค. ์ด์์ ๋๊ฐ ์ํฌ๋ฅด๊ณ ์ด์์ ํ๋ฏ๋ก ์ํ๋ ๋๋ก ์ฝํ ๋๊น์ง ๋ง์ ๋ค๋ฌ๊ณ ๋ฌธ์ฅ์ ๊ณ ์น๊ณ ๋ฌธ๋จ์ ์ ๋ฆฌํ๋ค. ํจ์๋ฅผ ์งค ๋๋ ๋ง์ฐฌ๊ฐ์ง๋ค. ์ฒ์์๋ ๊ธธ๊ณ ๋ณต์กํ๋ค. ์ดํ์ ์ฝ๋๋ฅผ ๋ค๋ฌ๊ณ , ํจ์๋ฅผ ๋ง๋ค๊ณ , ์ด๋ฆ์ ๋ฐ๊พธ๊ณ , ์ค๋ณต์ ์ ๊ฑฐํ๋ค. ๋ฉ์๋๋ฅผ ์ค์ด๊ณ ์์๋ฅผ ๋ฐ๊พผ๋ค. ์ด ์์ค์๋ ํญ์ ๋จ์ ํ ์คํธ๋ฅผ ํต๊ณผํ๋ค. ์ต์ข ์ ์ผ๋ก๋ ์ด ์ฅ์์ ์ค๋ช ํ ๊ท์น์ ๋ฐ๋ฅด๋ ํจ์๊ฐ ์ป์ด์ง๋ค. ์ฒ์๋ถํฐ ํ ์ง๋ด์ง ์๋๋ค. ๊ทธ๊ฒ ๊ฐ๋ฅํ ์ฌ๋์ ์์ผ๋ฆฌ๋ผ
[4์ฅ ์ฃผ์]
<์ฃผ์์ ๋์ ์ฝ๋๋ฅผ ๋ณด์ํ์ง ๋ชปํ๋ค> <์ข์ ์ฃผ์>
์ฝ๋์ ์ฃผ์์ ์ถ๊ฐํ๋ ์ผ๋ฐ์ ์ธ ์ด์ ๋ ์ฝ๋ ํ์ง์ด ๋์๊ธฐ ๋๋ฌธ์ด๋ค. ์์ ์ด ์ ์ง๋ฅธ ๋์ฅํ์ ์ฃผ์์ผ๋ก ์ค๋ช ํ๋ ค ์ ์ฐ๋ ๋์ ์ ๊ทธ ๋์ฅํ์ ๊นจ๋์ด ์น์ฐ๋ ๋ฐ ์๊ฐ์ ๋ณด๋ด๋ผ! ๋ช ์ฌํ๊ธฐ ๋ฐ๋๋ค. ์ ๋ง๋ก ์ข์ ์ฃผ์์, ์ฃผ์์ ๋ฌ์ง ์์ ๋ฐฉ๋ฒ์ ์ฐพ์๋ธ ์ฃผ์์ด๋ผ๋ ์ฌ์ค์!
<์ฝ๋๋ก ์๋๋ฅผ ํํํ๋ผ!>
๋๋ ํญ์ ์ฝ๋๋ฅผ ์์ ์ฒ๋ผ ์จ๋๊ณ ์ฃผ์์ ๋ฌ๊ณค ํ์ด์ ์ด ๋ถ๋ถ์์ ๋ง์ด ์ฐ๋ ธ๋ค..ใ ใ ใ
ํญ์ ๋๋ ๊ฐ์ ๋ฐฉ๋ฒ์ ๋ชจ๋ฅด๊ฒ ์ด์ ๊ณจ์น ์ํ ์๋๋ฐ ์์ผ๋ก๋ ํจ์๋ก ๋ง๋ค์ด์ ํํํด๋ด์ผ๊ฒ ๋ค!
<TODO ์ฃผ์>
๋๋ก๋ '์์ผ๋ก ํ ์ผ'์ //TODO ์ฃผ์์ผ๋ก ๋จ๊ฒจ๋๋ฉด ํธํ๋ค. ๋น์ฅ ๊ตฌํํ๊ธฐ ์ด๋ ค์ด ์ ๋ฌด๋ฅผ ๊ธฐ์ ํ๋ค.
<๋ซ๋ ๊ดํธ์ ๋ค๋ ์ฃผ์> <์ฃผ์์ผ๋ก ์ฒ๋ฆฌํ ์ฝ๋>
๋ ๋ค ํผํ๋ ๊ฒ์ด ์ข๋ค. ๋ซ๋ ๊ดํธ์ ๋ค๋ ์ฃผ์์ ์ก์์ด ๋ ๋ฟ์ด๋ค. ์ฃผ์์ผ๋ก ์ฒ๋ฆฌ๋ ์ฝ๋๋ ๋ค๋ฅธ ์ฌ๋๋ค์ด ์ง์ฐ๊ธฐ๋ฅผ ์ฃผ์ ํ๋ค. ์ธ๋ชจ์๋ ์ฝ๋๊ฐ ์์ด๊ฒ ๋๋ค.
ํด๋ฆฐ ์ํคํ ์ฒ -์๋์ฐ
[1๋ถ: ์๊ฐ]
๊ฐ๋ฐ ์กฐ์ง์ ๋ ๋์ ์ํํธ์จ์ด ํ์ง์, ๋ ๋์๊ฐ ์ฅ๊ธฐ๊ฐ ์์ต ์ฐฝ์ถ์ ์ํ ๋น์ฉ ์ต์ํ๋ฅผ ์ด๋์ด๋ด๊ธฐ ์ํด์๋ ์ํคํ ์ฒ์ ๋ํด ๊ณ ๋ฏผํ ํ์๊ฐ ์๋ค.
์ํํธ์จ์ด ๊ฐ๋ฐ์๋ ์์ ์ ์ฑ ์์ ๋คํ๊ธฐ ์ํด ํฌ์ํด์ผ ํ๋ค. ๊ธด๊ธํ ๋ค๋ฅธ ๋ฌด์ธ๊ฐ๋ก ์ธํด ์ํคํ ์ฒ๋ฅผ ๋ฐ๋ณตํด์ ํ์์๋ก ๋ฏธ๋ฃจ๊ฒ ๋๋ค๋ฉด ๊ฒฐ๊ตญ ์์คํ ๊ฐ๋ฐ ๋น์ฉ์ด ๋ ๋ง์ด ๋ค๊ฒ ๋๋ค.
๐ 2์ฐจ ๋ค๋ ๋ค๋ ๐
ํด๋ฆฐ ์ฝ๋ -์ด๋ฏผ์ง
[5์ฅ ํ์ ๋ง์ถ๊ธฐ]
<ํ ๊ท์น>
ํ๋ก๊ทธ๋๋จธ๋ผ๋ฉด ๊ฐ์ ์ ํธํ๋ ๊ท์น์ด ์๋ค. ํ์ง๋ง ํ์ ์ํ๋ค๋ฉด ์์ ์ด ์ ํธํด์ผ ํ ๊ท์น์ ๋ฐ๋ก ํ ๊ท์น์ด๋ค. ํ์ ํ ๊ฐ์ง ๊ท์น์ ํฉ์ํด์ผ ํ๋ค. ๊ทธ๋ฆฌ๊ณ ๋ชจ๋ ํ์์ ๊ทธ ๊ท์น์ ๋ฐ๋ผ์ผ ํ๋ค. ๊ทธ๋์ผ ์ํํธ์จ์ด๊ฐ ์ผ๊ด์ ์ธ ์คํ์ผ์ ๋ณด์ธ๋ค. ์ด๋์ ๊ดํธ๋ฅผ ๋ฃ์์ง, ๋ค์ฌ์ฐ๊ธฐ๋ ๋ช ์๋ฆฌ๋ก ํ ์ง, ํด๋์ค์ ๋ณ์์ ๋ฉ์๋ ์ด๋ฆ์ ์ด๋ป๊ฒ ์ง์์ง ๋ฑ์ด ์๋ค. ์ข์ ์ํํธ์จ์ด ์์คํ ์ ์ฝ๊ธฐ ์ฌ์ด ๋ฌธ์๋ก ์ด๋ค์ง๋ค๋ ์ฌ์ค์ ๊ธฐ์ตํ๊ธฐ ๋ฐ๋๋ค. ์คํ์ผ์ ์ผ๊ด์ ์ด๊ณ ๋งค๋๋ฌ์์ผ ํ๋ค.
[7์ฅ ์ค๋ฅ ์ฒ๋ฆฌ]
<null์ ๋ฐํํ์ง ๋ง๋ผ>
์ฐ๋ฆฌ๊ฐ ํํ ์ค๋ฅ๋ฅผ ์ ๋ฐํ๋ ํ์์๋ null์ ๋ฐํํ๋ ์ต๊ด์ด ์๋ค. ํ ์ค ๊ฑด๋ ํ๋์ฉ null์ ํ์ธํ๋ ์ฝ๋๋ก ๊ฐ๋ํ ์ ํ๋ฆฌ์ผ์ด์ ์ด ๊ฐ๋ํ๋ค. null์ ๋ฐํํ๋ ์ฝ๋๋ ์ผ๊ฑฐ๋ฆฌ๋ฅผ ๋๋ฆด ๋ฟ๋ง ์๋๋ผ ํธ์ถ์์๊ฒ ๋ฌธ์ ๋ฅผ ๋ ๋๊ธด๋ค. ๋๊ตฌ ํ๋๋ผ๊ณ null ํ์ธ์ ๋นผ๋จน๋๋ค๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ์ด ํต์ ๋ถ๋ฅ์ ๋น ์ง์ง๋ ๋ชจ๋ฅธ๋ค.
<null์ ์ ๋ฌํ์ง ๋ง๋ผ>
๋ฉ์๋์์ null์ ๋ฐํํ๋ ๋ฐฉ์๋ ๋์์ง๋ง ๋ฉ์๋๋ก null์ ์ ๋ฌํ๋ ๋ฐฉ์์ ๋ ๋์๋ค. ์ ์์ ์ธ ์ธ์๋ก null์ ๊ธฐ๋ํ๋ API๊ฐ ์๋๋ผ๋ฉด ๋ฉ์๋๋ก null์ ์ ๋ฌํ๋ ์ฝ๋๋ ์ต๋ํ ํผํ๋ค.
ํด๋ฆฐ ์ํคํ ์ฒ -์๋์ฐ
[2๋ถ: ๋ฒฝ๋๋ถํฐ ์์ํ๊ธฐ:ํ๋ก๊ทธ๋๋ฐ ํจ๋ฌ๋ค์]
๊ตฌ์กฐ์ ํ๋ก๊ทธ๋๋ฐ, ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ, ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ ํ๋ก๊ทธ๋๋จธ์๊ฒ์ ๊ถํ์ ๋ฐํํ๋ค. ๋ฌด์์ ํด๋ ๋๋ค๊ฐ ์๋, ๋ฌด์์ ํ๋ฉด ์๋๋ค๋ ๊ฒ์ ๊ท์น์ผ๋ก ์ ํ๊ณ ํ๋์ ์ ํํ๋ ์ญํ ์ ํ๋ค.
๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ํตํด ์์คํ ์ ๊ตฌ์กฐํํ๊ณ ๋ ๋ฆฝ์ ์ผ๋ก ๊ฐ๋ฐํ ์ ์๋ ํํ๋ฅผ ๊ตฌ์ถํ ์ ์๋ค.
๐ 3์ฐจ ๋ค๋ ๋ค๋ ๐
ํด๋ฆฐ ์ฝ๋ -์ด๋ฏผ์ง
[9์ฅ ๋จ์ ํ ์คํธ]
* TDD๋?
Test Driven Development์ ์ฝ์๋ก 'ํ ์คํธ ์ฃผ๋ ๊ฐ๋ฐ'์ด๋ผ๊ณ ํ๋ค. ๋ฐ๋ณต ํ ์คํธ๋ฅผ ์ด์ฉํ ์ํํธ์จ์ด ๋ฐฉ๋ฒ๋ก ์ผ๋ก, ์์ ๋จ์์ ํ ์คํธ ์ผ์ด์ค๋ฅผ ์์ฑํ๊ณ ์ด๋ฅผ ํต๊ณผํ๋ ์ฝ๋๋ฅผ ์ถ๊ฐํ๋ ๋จ๊ณ๋ฅผ ๋ฐ๋ณตํ์ฌ ๊ตฌํํ๋ค๊ณ ํ๋ค.
<TDD๋ฒ์น ์ธ ๊ฐ์ง>
1. ์คํจํ๋ ๋จ์ ํ ์คํธ๋ฅผ ์์ฑํ ๋๊น์ง ์ค์ ์ฝ๋๋ฅผ ์์ฑํ์ง ์๋๋ค.
2. ์ปดํ์ผ์ ์คํจํ์ง ์์ผ๋ฉด์ ์คํ์ด ์คํจํ๋ ์ ๋๋ก๋ง ๋จ์ ํ ์คํธ๋ฅผ ์์ฑํ๋ค.
3. ํ์ฌ ์คํจํ๋ ํ ์คํธ๋ฅผ ํต๊ณผํ ์ ๋๋ก๋ง ์ค์ ์ฝ๋๋ฅผ ์์ฑํ๋ค.
<๊นจ๋ํ ํ ์คํธ ์ฝ๋ ์ ์งํ๊ธฐ>
ํ ์คํธ ์ฝ๋๋ ์ค์ ๋ชป์ง ์๊ฒ ์ค์ํ๋ค. ์ค์ ์ฝ๋ ๋ชป์ง ์๊ฒ ๊นจ๋ํ๊ฒ ์ง์ผ ํ๋ค.
ํ ์คํธ๋ ์ ์ฐ์ฑ, ์ ์ง๋ณด์์ฑ, ์ฌ์ฌ์ฉ์ฑ์ ์ ๊ณตํ๋ค. ํ ์คํธ ์ผ์ด์ค๊ฐ ์์ผ๋ฉด ๋ณ๊ฒฝ์ด ๋๋ ต์ง ์๋ค! ํ ์คํธ ์ผ์ด์ค๊ฐ ์๋ค๋ฉด ๋ชจ๋ ๋ณ๊ฒฝ์ด ์ ์ ์ ์ธ ๋ฒ๊ทธ๋ค.
[12์ฅ ์ฐฝ๋ฐ์ฑ]
* ์ฐฝ๋ฐ์ฑ์ด๋?
ํ์ ๊ณ์ธต(๊ตฌ์ฑ ์์)์๋ ์๋ ํน์ฑ์ด๋ ํ๋์ด ์์ ๊ณ์ธต(์ ์ฒด ๊ตฌ์กฐ)์์ ์๋ฐ์ ์ผ๋ก ๋์ฐํ ์ถํํ๋ ํ์์ด๋ค.
<์ฐฝ๋ฐ์ ์ค๊ณ๋ก ๊น๋ํ ์ฝ๋๋ฅผ ๊ตฌํํ์>
์ฐฉ์คํ๊ฒ ๋ฐ๋ฅด๊ธฐ๋ง ํ๋ฉด ์ฐ์ํ ์ค๊ณ๊ฐ ๋์ค๋ ๊ฐ๋จํ ๊ท์น ๋ค ๊ฐ์ง๊ฐ ์๋ค๋ฉด?
์ผํธ ๋ฒก์ด ์ ์ํ ๋จ์ํ ์ค๊ณ ๊ท์น ๋ค ๊ฐ์ง. ์ผํธ ๋ฒก์ ๋ค์ ๊ท์น์ ๋ฐ๋ฅด๋ฉด ์ค๊ณ๋ '๋จ์ํ๋ค'๊ณ ๋งํ๋ค.
1. ๋ชจ๋ ํ ์คํธ๋ฅผ ์คํํ๋ค
2. ์ค๋ณต์ ์์ค๋ค.
3. ํ๋ก๊ทธ๋๋จธ์ ์๋๋ฅผ ํํํ๋ค.
4. ํด๋์ค์ ๋ฉ์๋ ์๋ฅผ ์ต์๋ก ์ค์ธ๋ค.
*์ค์๋ ์์ด๋ค.
<ํํํ๋ผ>
์ํํธ์จ์ด ํ๋ก์ ํธ ๋น์ฉ ์ค ๋๋ค์๋ ์ฅ๊ธฐ์ ์ธ ์ ์ง๋ณด์์ ๋ค์ด๊ฐ๋ค. ์ฝ๋๋ฅผ ๋ณ๊ฒฝํ๋ฉด์ ๋ฒ๊ทธ์ ์น์ ์ฌ์ง ์์ผ๋ ค๋ฉด ์ ์ง๋ณด์ ๊ฐ๋ฐ์๊ฐ ์์คํ ์ ์ ๋๋ก ์ดํดํด์ผ ํ๋ค. ํ์ง๋ง ์์คํ ์ด ์ ์ฐจ ๋ณต์กํด์ง๋ฉด์ ์ ์ง๋ณด์ ๊ฐ๋ฐ์๊ฐ ์์คํ ์ ์ดํดํ๋๋ฐ ๋ณด๋ด๋ ์๊ฐ์ด ์ ์ ๋์ด๋๊ณ ์ฝ๋๋ฅผ ์คํดํ ๊ฐ๋ฅ์ฑ๋ ์ ์ ์ปค์ง๋ค. ๊ฐ๋ฐ์๊ฐ ์ฝ๋๋ฅผ ๋ช ๋ฐฑํ๊ฒ ์งค์๋ก ๋ค๋ฅธ ์ฌ๋์ด ๊ทธ ์ฝ๋๋ฅผ ์ดํดํ๊ธฐ ์ฌ์์ง๋ค. ๊ทธ๋์ผ ๊ฒฐํจ์ด ์ค์ด๋ค๊ณ ์ ์ง๋ณด์ ๋น์ฉ์ด ์ ๊ฒ ๋ ๋ค.
1. ์ข์ ์ด๋ฆ์ ์ ํํ๋ค.
2. ํจ์์ ํด๋์ค ํฌ๊ธฐ๋ฅผ ๊ฐ๋ฅํ ์ค์ธ๋ค.
3. ํ์ค ๋ช ์นญ์ ์ฌ์ฉํ๋ค.
4. ๋จ์ ํ ์คํธ ์ผ์ด์ค๋ฅผ ๊ผผ๊ผผํ ์์ฑํ๋ค.
๊ทธ๋ ์ง๋ง ๋ฌด์๋ณด๋ค ๋ ธ๋ ฅ!! ์ด ์ค์ํ๋ค. ํํ ์ฝ๋๋ง ๋๋ฆฐ ํ ๋ค์ ๋ฌธ์ ๋ก ์งํํ๋ ์ฌ๋ก๊ฐ ๋๋ฌด๋ ํํ๋ค. ๋์ค์ ์ฝ์ ์ฌ๋์ ๊ณ ๋ คํด ์กฐ๊ธ์ด๋ผ๋ ์ฝ๊ธฐ ์ฝ๊ฒ ๋ง๋ค๋ ค๋ ์ถฉ๋ถํ ๊ณ ๋ฏผ์ ํ์. ๋ฎ์ฐ์ ์ฝ๋๋ฅผ ์ฝ์ ์ฌ๋์ ๋ฐ๋ก ์์ ์ผ ๊ฐ๋ฅ์ฑ์ด ๋๋ค๋ ์ฌ์ค์ ๋ช ์ฌํ๋ค. ๊ทธ๋ฌ๋ฏ๋ก ์์ ์ ์ํ์ ์กฐ๊ธ ๋ ์๋ํ๊ณ ์ฃผ์๋ฅผ ๊ธฐ์ธ์ด์. ์ฃผ์๋ ๋๋จํ ์ฌ๋ฅ์ด๋ค.
ํด๋ฆฐ ์ํคํ ์ฒ -์๋์ฐ
[5๋ถ : ์ํคํ ์ฒ - 15์ฅ ์ํคํ ์ฒ๋?]
์ข์ ์ํคํ ์ฒ๋ ์์คํ ์ ์ฝ๊ฒ ์ดํดํ๊ณ , ์ฝ๊ฒ ๊ฐ๋ฐํ๋ฉฐ, ์ฝ๊ฒ ์ ์ง๋ณด์ํ๊ณ , ๋ ์ฝ๊ฒ ๋ฐฐํฌํ๊ฒ ํด์ค๋ค. ์ด๋ฅผ ํตํด ์์คํ ์ ์๋ช ๋น์ฉ์ ์ต์ํํ๊ณ , ํ๋ก๊ทธ๋๋จธ์ ์์ฐ์ฑ์ ์ต๋ํํ๋ค.
์ ์ง๋ณด์์ ๊ฐ์ฅ ํฐ ๋น์ฉ์ ์ด๋๋ฅผ ์ด๋ป๊ฒ ๊ณ ์น ์ง ๊ฒฐ์ ํ ๋ ๋๋ ๋ฐ์ ์๋ค. ์์คํ ์ ์ปดํฌ๋ํธ๋ก ๋ถ๋ฆฌํ๊ณ , ์์ ๋ ์ธํฐํ์ด์ค๋ฅผ ๋์ด ์๋ก ๊ฒฉ๋ฆฌํ๋ค.
์ข์ ์ํคํ ํธ๋ ๊ฒฐ์ ๋์ง ์์ ์ฌํญ์ ์๋ฅผ ์ต๋ํํ๋ค. ์ ์ฑ ์ด ์ธ๋ถ์ฌํญ๊ณผ ๊ฒฐํฉ๋์ง ์๋๋ก ์๊ฒฉํ ๋ถ๋ฆฌํ๋ ๊ฒ์ด ์ค์ํ๋ค.
๐ ์ต์ข ๋ค๋ ๋ค๋ ๐
ํด๋ฆฐ ์ฝ๋ -์ด๋ฏผ์ง
[14์ฅ ์ ์ง์ ์ธ ๊ฐ์ ]
<์ ์ง์ ์ผ๋ก ๊ฐ์ ํ๋ค>
ํ๋ก๊ทธ๋จ์ ๋ง์น๋ ๊ฐ์ฅ ์ข์ ๋ฐฉ๋ฒ ์ค ํ๋๋ ๊ฐ์ ์ด๋ผ๋ ์ด๋ฆ ์๋ ๊ตฌ์กฐ๋ฅผ ํฌ๊ฒ ๋ค์ง๋ ํ์๋ค.
ํ ์คํธ ์ฃผ๋ ๊ฐ๋ฐ (Test-Driven Development, TDD) ๊ธฐ๋ฒ์ ์ด์ฉํ๋ค. TDD๋ ์ธ์ ์ด๋ ๋๋ผ๋ ์์คํ ์ด ๋์๊ฐ์ผ ํ๋ค๋ ์์น์ ๋ฐ๋ฅธ๋ค. ๋ค์ ๋งํด, TDD๋ ์์คํ ์ ๋ง๊ฐ๋จ๋ฆฌ๋ ๋ณ๊ฒฝ์ ํ์ฉํ์ง ์๋๋ค. ๋ณ๊ฒฝ์ ๊ฐํ ํ์๋ ์์คํ ์ด ๋ณ๊ฒฝ ์ ๊ณผ ๋๊ฐ์ด ๋์๊ฐ์ผ ํ๋ค๋ ๋ง์ด๋ค.
์์นจ์ ์๋ง์ผ๋ก ๋ง๋ ์ฝ๋๋ฅผ ์คํ์ ์ ๋ฆฌํ๊ธฐ๋ ์ด๋ ต์ง ์๋ค. ๋์ฑ์ด 5๋ถ ์ ์ ์๋ง์ผ๋ก ๋ง๋ ์ฝ๋๋ ์ง๊ธ ๋น์ฅ ์ ๋ฆฌํ๊ธฐ ์์ฃผ ์ฝ๋ค. ๊ทธ๋ฌ๋ฏ๋ก ์ฝ๋๋ ์ธ์ ๋ ์ต๋ํ ๊น๋ํ๊ณ ๋จ์ํ๊ฒ ์ ๋ฆฌํ์. ์ ๋๋ก ์ฉ์ด๊ฐ๊ฒ ๋ฐฉ์นํ๋ฉด ์ ๋๋ค.
[17์ฅ ๋์์ ํด๋ฆฌ์คํฑ]
* ํด๋ฆฌ์คํฑ ์ด๋ก ์ด๋?
ํด๋ฆฌ์คํฑ(heuristics) ๋๋ ๋ฐ๊ฒฌ๋ฒ(็ผ่ฆๆณ)์ด๋ ๋ถ์ถฉ๋ถํ ์๊ฐ์ด๋ ์ ๋ณด๋ก ์ธํ์ฌ ํฉ๋ฆฌ์ ์ธ ํ๋จ์ ํ ์ ์๊ฑฐ๋, ์ฒด๊ณ์ ์ด๋ฉด์ ํฉ๋ฆฌ์ ์ธ ํ๋จ์ด ๊ตณ์ด ํ์ํ์ง ์์ ์ํฉ์์ ์ฌ๋๋ค์ด ๋น ๋ฅด๊ฒ ์ฌ์ฉํ ์ ์๊ฒ ๋ณด๋ค ์ฉ์ดํ๊ฒ ๊ตฌ์ฑ๋ ๊ฐํธ์ถ๋ก ์ ๋ฐฉ๋ฒ์ด๋ค.
๋ค์๊ณผ ๊ฐ์ ์๋ค์ด ๋์๋๋ฐ ์์ ์ฑ ์ ๋์จ ๋ด์ฉ๋ค์ ์ ๋ฆฌํ๋ ๋๋์ด์๋ค!!
๋ชจ๋ ์ ๊ธฐ์ ๋๋ฌด ๋ง์ผ๋ ์ผ๋ถ๋ง ์จ๋ณด์๋ค.
<์ฃผ์>
C1 : ๋ถ์ ์ ํ ์ ๋ณด
C2 : ์ธ๋ชจ ์๋ ์ฃผ์
C3 : ์ค๋ณต๋ ์ฃผ์
C4 : ์ฑ์ ์๋ ์ฃผ์
C5 : ์ฃผ์ ์ฒ๋ฆฌ๋ ์ฝ๋
<ํ๊ฒฝ>
E1 :์ฌ๋ฌ ๋จ๊ณ๋ก ๋น๋ํด์ผ ํ๋ค
E2 : ์ฌ๋ฌ ๋จ๊ณ๋ก ํ ์คํธํด์ผ ํ๋ค
<ํจ์>
F1 : ๋๋ฌด ๋ง์ ์ธ์
F2 : ์ถ๋ ฅ ์ธ์
F3 : ํ๋๊ทธ ์ธ์
F4 : ์ฃฝ์ ํจ์
<์ด๋ฆ>
N1 : ์์ ์ ์ธ ์ด๋ฆ์ ์ฌ์ฉํ๋ผ
N2 : ์ ์ ํ ์ถ์ํ ์์ค์์ ์ด๋ฆ์ ์ ํํ๋ผ
N3 : ๊ฐ๋ฅํ๋ค๋ฉด ํ์ค ๋ช ๋ช ๋ฒ์ ์ฌ์ฉํ๋ผ
N4 : ๋ช ํํ ์ด๋ฆ
N5 : ๊ธด ๋ฒ์๋ ๊ธด ์ด๋ฆ์ ์ฌ์ฉํ๋ผ
N6 : ์ธ์ฝ๋ฉ์ ํผํ๋ผ
N7 : ์ผ๋ฏ์ผ๋ก ๋ถ์ ํจ๊ณผ๋ฅผ ์ค๋ช ํ๋ผ
<ํ ์คํธ>
T1 : ๋ถ์ถฉ๋ถํ ํ ์คํธ
T2 : ์ปค๋ฒ๋ฆฌ์ง ๋๊ตฌ๋ฅผ ์ฌ์ฉํ๋ผ!
T3 : ์ฌ์ํ ํ ์คํธ๋ฅผ ๊ฑด๋๋ฐ์ง ๋ง๋ผ
T4 : ๋ฌด์ํ ํ ์คํธ๋ ๋ชจํธํจ์ ๋ปํ๋ค
T5 : ๊ฒฝ๊ณ ์กฐ๊ฑด์ ํ ์คํธํ๋ผ
ํด๋ฆฐ ์ํคํ ์ฒ -์๋์ฐ
[5๋ถ : ์ํคํ ์ฒ - 22์ฅ ํด๋ฆฐ ์ํคํ ์ฒ]
ํด๋ฆฐ ์ํคํ ์ฒ๋ ์ง๊ธ๊น์ง ๋ฑ์ฅํ ์๋ง์ ์์คํ ์ํคํ ์ฒ์ ๋ชฉํ์ธ “๊ด์ฌ์ฌ ๋ถ๋ฆฌ”๋ฅผ ์ค์ฌ์ผ๋ก ๊ตฌ์ฑ๋์๋ค. ํ๋ ์์ํฌ ๋ ๋ฆฝ์ฑ, ํ ์คํธ ์ฉ์ด์ฑ, UI ๋ ๋ฆฝ์ฑ, ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ ๋ฆฝ์ฑ, ์ธ๋ถ ์์ด์ ์์ ๋ํ ๋ ๋ฆฝ์ฑ์ ํ๋์ ์์ด๋์ด๋ก ํตํฉํ์๋ค.
๋์ฌ์์ผ๋ก ๊ตฌ์ฑ๋ ํด๋ฆฐ ์ํคํ ์ฒ์์ ๊ฐ์ฅ ์ค์ํ ๊ท์น์ “์์ค ์ฝ๋ ์์กด์ฑ์ ๋ฐ๋์ ์์ชฝ์ผ๋ก, ๊ณ ์์ค์ ์ ์ฑ ์ ํฅํด์ผ ํ๋ค”๋ ๊ฒ์ด๋ค.
์ํฐํฐ๋ ํต์ฌ ์ ๋ฌด ๊ท์น์ ์บก์ํํ๋ฉฐ, ์ธ๋ถ์ ๋ฌด์ธ๊ฐ๊ฐ ๋ณ๊ฒฝ๋์ด๋ ์ํฐํฐ๊ฐ ๋ณ๊ฒฝ๋ ๊ฐ๋ฅ์ฑ์ ์ง๊ทนํ ๋ฎ๋ค.
์ ์ค์ผ์ด์ค ๊ณ์ธต์ ์ ํ๋ฆฌ์ผ์ด์ ํนํ ์ ๋ฌด ๊ท์น์ ํฌํจํ๋ค. ์ํฐํฐ๋ก ๋ค์ด์ค๊ณ ๋๊ฐ๋ ๋ฐ์ดํฐ ํ๋ฆ์ ์กฐ์ ํ๋ค. ์ด ๊ณ์ธต์ ๋ณ๊ฒฝ์ด ์ํฐํฐ์ ์ํฅ์ ์ฃผ์ด์๋ ์๋๋ค.
์ธํฐํ์ด์ค ์ด๋ํฐ ๊ณ์ธต์ ๋ฐ์ดํฐ๋ฅผ ์ ์ค์ผ์ด์ค์ ์ํฐํฐ์๊ฒ ๊ฐ์ฅ ํธ๋ฆฌํ ํ์์์ ์ธ๋ถ ์์ด์ ์์๊ฒ ๊ฐ์ฅ ํธ๋ฆฌํ ํ์์ผ๋ก ๋ณํํ๋ค. GUI์ MVC ์ํคํ ์ฒ์ ๊ฒฝ์ฐ ๋ชจ๋ ํฌ๊ดํ๋ค.
๋ ๋ง์ ๊ณ์ธต์ผ๋ก ๊ฐ๋ ์ ๋ถ๋ฆฌํ ์๋ ์์ง๋ง, ๊ฐ์ฅ ์ค์ํ ๊ท์น์ธ ์์กด์ฑ ๊ท์น์ ์ง์ผ์ผํ๋ค.
์ํคํ ์ฒ ๊ฒฝ๊ณ๋ฅผ ํก๋จํ ๋๋ ์์กด์ฑ ์ญ์ ์์น์ ์ฌ์ฉํ์ฌ ํด๊ฒฐํ๋ ๋ฑ์ ๋ฐฉ์์ ํตํด ๊ท์น์ ์ค์ํด์ผํ๋ค.
โ๏ธ ๋ค๋ ๋ค๋ ํ๊ธฐ
[์ด๋ฏผ์ง] : ์ฑ ์ ์ฝ์ผ๋ฉด์ ํ์ ์ ์ ์ฝ๋ฉ ์ต๊ด๋ค์ ๋๋์๋ณด๋ฉฐ ๋์์ ๊ฐ์ ๋ฐฉํฅ์ ์ก์ ์ ์์์ต๋๋ค! ํนํ ์ฑ ์ ์๋ถ๋ถ์ด ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ด์ง๋ง ๋ง์ด ๋์น๊ณ ์๋ ๋ถ๋ถ๋ค์ด๋ผ ์ธ์ ๊น์์ด์. ๋ํ ํ ํ๋ก์ ํธ ์์ ์ฝ๋ฉ ์คํ์ผ์ ์ ํด๋์์ผ ํ๋ค๋ ๋ถ๋ถ์์ ๊น์ ํต์ฐฐ์ ๋๊ผ๊ณ , ํ ์ด ํ๋ก๊ทธ๋จ์ด ์๋ ์ค์ ์๋น์ค์ ๊ดํ ๊ฐ๋ฐ์ ํ ๋ ์ด๋ ํ ํ๋๋ฅผ ๊ฐ์ง๊ณ ๊ฐ๋ฐ์ ํด์ผ ํ๋์ง ์ดํด๊ฐ ์ ๋์์ต๋๋ค. ์์ฌ์ด ์ ์ ์ ๋ C์ธ์ด, Python, Java ์์๋ก ์ต์ํ๋ฐ ์ฑ ์ด Java ๊ธฐ๋ฐ์ด๋ผ ์ดํดํ๊ธฐ ์ด๋ ค์ด ์ฝ๋๋ค๋ ์์ด ๋์น ์ด์ผ๊ธฐ๋ค์ด ๋ง์ด ์์์ ๊ฒ ๊ฐ๋ค๋ ์ ์ด์์. ๊ทธ๋์ ์ถํ์ ์ ๊ฐ Java ์ธ์ด์ ๋ง์ด ์ต์ํด์ก์ ๋์ฏค ๋ค์ ์ฝ์ด๋ณด๊ณ ์ถ์ต๋๋ค!! ๊ทธ ์ดํ์๋ ๋์ฐ๋์ด ์ฝ์ผ์ ํด๋ฆฐ ์ํคํ ์ฒ๋ ๊ผญ ์ฝ์ด๋ณด๊ณ ์ถ์ด์! โจ
[์๋์ฐ] : ๋ค๋ ๋ค๋ ์ ํตํด ํด๋ฆฐ ์ํคํ ์ฒ๋ฅผ ์ฝ์ผ๋ฉด์ ๊ฐ์ฅ ์ธ์๊น๊ณ ์ ์ดํดํ๊ณ ์ถ์๋ ๋ถ๋ถ ์ผ๋ถ๋ฅผ ์ ๋ฆฌํด๋ณด์์ต๋๋ค. ํด๋ฆฐ ์ํคํ ์ฒ๊ฐ ์ ๋ช ํ๊ณ ์ธ๊ธฐ์๋ ๋ฐฉ๋ฒ๋ก ์ด๊ธฐ์ ๋ฌด์กฐ๊ฑด ์ณ๋ค๊ณ ๋ฐ์๋ค์ด๋ ํ๋๊ฐ ์๋, ๊ณ์ํด์ ์ ์์ ์๊ฒฌ์ ๋์ง์ด๋ณด๋ฉฐ ์ ๋ง ์ด ํ๋์ด ๊ด์ฌ์ฌ ๋ถ๋ฆฌ์ ์ ์ ํ ํ๋์ธ์ง๋ฅผ ํ์ ํ๊ณ ์ดํดํ๋ ํ๋๊ฐ ๋๋ ค๊ณ ๋ ธ๋ ฅํ๊ณ ์์ต๋๋ค.
๋ง์ ๋ถ๋์ด๊ธฐ๋ ํ๊ณ , ๋ณต์กํ ๋ด์ฉ์ ๋ด๊ณ ์์ด ์ฑ ์ ์ ๋ถ ์ฝ์ด๋ณด์ง๋ ๋ชปํ์ง๋ง ์์ผ๋ก๋ ๊ณ์ํด์ ๋ ๋์ ์ํํธ์จ์ด ์ค๊ณ ๋ฐฉ๋ฒ์ ๊ณ ๋ฏผํ๊ธฐ ์ํด ๋๊น์ง ์ฝ์ด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค!๐