1์ฃผ์ฐจ์ ์ฃผ์ ๋ TDD์๊ณ , ๋ฏธ์ ์ ๋ฌธ์์ด ๊ณ์ฐ๊ธฐ์ ๋ก๋ ๊ฒ์์ด์๋ค. ๋ฌธ์์ด ๊ณ์ฐ๊ธฐ๋ ์ฌ์ค์ ๋ชธํ๊ธฐ์ ๊ฐ์ ๋๋์ด์๊ธฐ์, ๋ก๋ ๊ฒ์์ ํ๋ฉด์ ๋ ๋ง์ ํผ๋๋ฐฑ๊ณผ ๊นจ๋ฌ์์ ์ป์๋ค.
๋ฏธ์ ์ ์๊ตฌ์ฌํญ
ํ๋ฆฌ์ฝ์ค ๋์ ๋ง์ฐฌ๊ฐ์ง๋ก ํด๋น ๋ฏธ์ ์ ๊ธฐ๋ฅ์ ์ธ ์๊ตฌ์ฌํญ์ ์ด๋ ต์ง ์์์ง๋ง, ํ๋ก๊ทธ๋๋ฐ์ ์๊ตฌ์ฌํญ์ด ๋ ์ ๋ง ํ๋ค๊ฒ ํ๋ค. ์๊ตฌ์ฌํญ ์ค์๋ ์๋ ์ค์๋ก์ง์ ๊ฐ์ฒด์งํฅ ์ํ ์ฒด์กฐ 9๊ฐ์ง ์ง์นจ๊ณผ ๊ฒน์น๋ ๋ถ๋ถ๋ค์ด ์๋ค.
ใํ ๋ฉ์๋์ ์ค์ง ํ ๋จ๊ณ์ ๋ค์ฌ์ฐ๊ธฐ๋ง ํ๋ค.
ใelse ์์ฝ์ด๋ฅผ ์ฐ์ง ์๋๋ค.
ใํ ์ค์ ์ ์ ํ๋๋ง ์ฐ๋๋ค.
๋ฏธ์ ์ ๋ช ์๋ ์๊ตฌ์ฌํญ ์ด์ธ์๋ ๋ด๊ฐ ๊ฐ์ธ์ ์ผ๋ก ์ธ์ ๋ ๋ชฉํ๋ 'MVC ํจํด์ ๋ง๊ฒ ๊ตฌํํด๋ณด์' ์๋ค. ์ง๊ธ ์์ ์๊ฐํด๋ณด๋ฉด ํน๋ณํ ๋ชฉํ๋ ์ด์ ๊ฐ ์์๋ ๊ฑด ์๋์๋ค. ์ฌ์ฉ์๋ก๋ถํฐ ์ ๋ ฅ๊ฐ์ ๋ฐ๊ฑฐ๋ ์ฌ์ฉ์์๊ฒ ๊ฒฐ๊ณผ๋ฅผ ์๋ ค์ฃผ์ด์ผ ํ๋ ๋ถ๋ถ์ด ์์๊ธฐ ๋๋ฌธ์, ๋ฌด์์์ ์ผ๋ก MVC ํจํด์ ๋ฐ๋ฅด๋ ๊ฒ์ด ์ ์ง๋ณด์์๋ ์ฉ์ดํ๊ณ (์ ์ง๋ณด์ ํ ์ผ์ ์๊ฒ ์ง๋ง ๊ทธ๋๋ ์ ์ง๋ณด์๋ฅผ ํ๋ค๊ณ ๊ฐ์ ํ๋ฉด!) ๊ฐ ๊ฐ์ฒด๋ค์ ์ญํ ์ ๋ถ๋ฆฌํ๊ธฐ์ ์ฉ์ดํ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ๋ ๊ฒ ๊ฐ๋ค.
1์ฃผ์ฐจ ๋ฏธ์ ์ ์์ํ๋๋ฐ ๊ฑธ๋ ธ๋ ์๊ฐ์ ๋๋ต 1์ฃผ์ผ ์ ๋์๋ค. ํด๊ทผํ๊ณ ๋์ ์ต์ 2~4์๊ฐ์ ํฌ์ํ๊ณ , ์ฃผ๋ง ์ดํ ๋ด๋ด ๋ฏธ์ ์๋ง ์ง์คํ๋ ๊ฑธ ๊ฐ์ํ๋ฉด ์ ๋ง ์ค๋ ๊ฑธ๋ ธ๋ค. ์ง๊ธ์์ ์๊ฐํด๋ณด๋ฉด ์ด ๋ฏธ์ ์ด ์ด๋ ต๊ฒ ๋๊ปด์ก๋ ๋ฐ์๋ ํฌ๊ฒ 3๊ฐ์ง ์ด์ ๊ฐ ์์๋ค.
์ฒซ ๋ฒ์งธ ์ด์ : MVC ํจํด์ ์ ๋ชฐ๋๋ค
์ ํํ ๋งํ์๋ฉด ๊ฐ ๊ฐ์ฒด๋ค์ ์ญํ ์ ๋ํ ๋ช ํํ ๊ตฌ๋ถ์ ์ง์ง ์์ ์ํ์์ ๊ฐ๋ฐ์ ์์ํ๊ธฐ ๋๋ฌธ์ ์ฝ๋ ์์ ์ด ์ฆ์๋ค.
์ด๋ฐ์ Application๊ณผ LottoController์ ์ฝ๋๋ ์๋์ ๊ฐ์๋ค. ์ด๋ ๋น์์๋ Application์ ์ดํ๋ฆฌ์ผ์ด์ ์ง์ ์ ์ ์ญํ ๋ง ํ๊ณ , LottoController๊ฐ ์ ๋ง ๋ชจ๋ ๊ฒ์ ์ปจํธ๋กคํ์!๋ผ๊ณ ์๊ฐํ์๋ค. ํ๋ฆฐ ์๊ฐ์ด๋ผ๊ณ ๋ ํ ์ ์์ง๋ง, ๋ฑํ ๊น์ ์๊ฐ ๋์ ๋ด๋ฆฐ ๊ฒฐ๋ก ์ ์๋์๋ค. ๊ทธ๋์ ์๊ตฌ์ฌํญ์ด ์ถ๊ฐ ๋์์ ๋ ๊ณ์ ์ฐ์์ข์ํ๋ ๊ธฐ์ต์ด ์๋ค. ์ปค๋ฐ ์ด๋ ฅ์๋ ๋จ์ง ์์์ง๋ง, Application์์ ๋ชจ๋ ๊ฐ์ฒด(InputView, Controller, LottoTickets)๋ฅผ ์์ฑํ๋ ๋ฐฉํฅ์ผ๋ก ๊ฐ๋ค๊ฐ ๋ค์ ๋กค๋ฐฑํ ์ ๋ ์๊ณ ...์ฌํผ ํผ์์ ์ฝ์ง์ ์ ๋ง ๋ง์ด ํ๋ค. ์ฒ์๋ถํฐ ๊ฐ ๊ฐ์ฒด์ ๋ํ ์ญํ ์ด ์ ์ ์๋์๋ค๋ฉด ๊ทธ ์ ๋๊น์ง๋ ์๋์์ ๊ฑฐ๋ผ๊ณ ํ์ ํ๋ค.
๊ฒ๋ค๊ฐ ์ด๋ฐ์ LottoController ์ฝ๋์์๋ View์ Model์ ํด๋นํ๋ ๊ฐ์ฒด๋ค์ ๋ชจ๋ ๋ฉค๋ฒ๋ณ์๋ก ๊ฐ์ง๊ณ ์๋ค. ๋ฆฌ๋ทฐ์ด๋์ ํผ๋๋ฐฑ ๋๋ถ์ ์ต์ข ์ฝ๋์์๋ View์ ํด๋นํ๋ ๊ฐ์ฒด๋ค๋ง ๋ณ์๋ก ๊ฐ์ง๊ณ ์๊ธฐ๋ ํ์ง๋ง, ์ฌ์ค ๊ทธ ๋ง์ ๋ ์กฐ๊ธ ์์ฌ์ด ๋๋์ ๋ ๋ค.
์ง๊ธ ๋ค์ ๊ฐ๋ฐํ๋ค๋ฉด Controller์ ์ญํ ์ ์กฐ๊ธ ๋ ๋ช ํํ ์ค์ ํ๊ณ ์์ํ ๊ฒ ๊ฐ๋ค. MVC ํจํด์์ Controller์ ์ญํ ์ Model๊ณผ View ์ฌ์ด์ ์ฐ๊ฒฐ๊ณ ๋ฆฌ๊ฐ ๋์ด์ฃผ๋ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ๋ค. Model๊ณผ View ์ฌ์ด์์ ์ค๊ฐ์ ์ญํ ์ ํ๊ณ ์๋ค๋ฉด, ๊ตณ์ด Model ๋ฐ View ๊ฐ์ฒด๋ค์ ๋ณ์๋ก ๊ฐ์ง๊ณ ์์ ํ์๋ ์์ ๊ฒ ๊ฐ๋ค.
์ฒ์ ๊ฐ๋ฐํ ๋์๋ ์ ์๊ฐ์ ์ ํ๋ ๊ฑด ์๋๋ค. ๊ตณ์ด Controller์์ View ๊ฐ์ฒด๋ฅผ ๊ฐ์ง๊ณ ์์ด์ผ ํ๋? ์๊ฐํ์ง๋ง, Controller์์ View ๊ฐ์ฒด๋ฅผ ๊ฐ์ง์ง ์๊ฒ ํ๋ ค๋ฉด Application์์ View ๊ฐ์ฒด๋ฅผ ๊ฐ์ง๊ณ ์์ด์ผ ํ๋ค. ๊ทผ๋ฐ ๊ทธ๊ฒ ๊ดํ ์ฐ์ฐํ๋ค. ์ง์ ์ ์ main ๋ฉ์๋๊ฐ ์๋ ๋ค๋ฅธ ๋ฉ์๋๋ฅผ ๋ง๋ ๋ค๋ ๊ฒ ์ข ๊ทธ๋ฌ๋๋ฐ, ์ ์ข ๊ทธ๋ฐ์ง๋ ์ง๊ธ๋ ์ค๋ช ์ ๋ชปํ๊ฒ ๋ค. ์ด๋์์ ๊ทผ์ํ ์ฐ์ฐํจ์ผ๊น?
๋ ๋ฒ์งธ ์ด์ : ์ ํจ์ฑ ๊ฒ์ฆ์ ์ด๋ ๋ ์ด์ด์์ ์ด๋ ์ ๋๊น์ง ํด์ผํ ์ง ๊ฒฐ์ ๋ด๋ฆฌ๊ธฐ๊ฐ ์ด๋ ค์ ๋ค
์ผ๋ฐ ์ธ๊ณ์์์ ๋ก๋ ๋ฒํธ๋ฅผ ์๊ฐํด๋ณด์. ๋ฒํธ๋ ๋ฌด์กฐ๊ฑด 1๋ถํฐ 45๊น์ง๋ง ์๋ค. ํ์ง๋ง ์ฌ์ฉ์๊ฐ ํ๋ก๊ทธ๋จ์ ํตํด ๋ก๋ ๋ฒํธ ๊ฐ์ ์ ๋ ฅํ ๋ ์ซ์๋ง ์ ๋ ฅํ๋ฆฌ๋ผ๋ ๋ณด์ฅ์ด ์๋ค. ๊ฒ๋ค๊ฐ ์ซ์๋ฅผ ์ ๋ ฅํ๋ค๊ณ ํด๋ 1๋ถํฐ 45 ์ฌ์ด์ ์ซ์๋ง ์ ๋ ฅํ ๊ฒ์ด๋ผ๊ณ ํ์ ํ ์ ์๋ค. ์คํ์ด์ค๋ฅผ ์ ๋ ฅํ ์๋ ์๊ณ , ํ๊ธ ํน์ ์์ด ํน์ ํน์๊ธฐํธ๋ฅผ ์ ๋ ฅํ ์๋ ์๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ๊ฐ๋ฐ์๋ ์๋์ ๊ฐ์ด ํฌ๊ฒ ๋ ๊ฐ์ง๋ฅผ ๊ฒ์ฆํด์ผ ํ๋ค.
1) ์ ๋ ฅ๋ ๋ฐ์ดํฐ๊ฐ ์ซ์์ธ๊ฐ?
2) ์ ๋ ฅ๋ ๋ฐ์ดํฐ๊ฐ ์ซ์๋ผ๋ฉด ๋ฒ์(1~45) ๋ด์ ์ซ์์ธ๊ฐ?
๋ฏธ์ ์ ์งํํ๋ ๋ด๋ด 1๋ฒ๊ณผ 2๋ฒ์ ๊ฒ์ฆ์ View์๊ฒ ๋งก๊ธธ ๊ฒ์ธ๊ฐ Model์๊ฒ ๋งก๊ธธ ๊ฒ์ธ๊ฐ๋ฅผ ๊ฒฐ์ ์ง์ง ๋ชปํด ๋ง์ด ํค๋งธ๋ค. ๋ฌผ๋ก ์ง๊ธ์ ๊ทธ ๊ธฐ์ค์ ์กฐ๊ธ์ ์ฝ๊ฒ ์ ํ ์ ์๋ค. ๋น์ฆ๋์ค ๋ก์ง๊ณผ๋ ๊ด๊ณ์์ด, ์ซ์๋ผ๋ฉด ์ฒ๋ฆฌํด์ผ ํ 1๋ฒ ์ ํจ์ฑ ๊ฒ์ฆ์ View์๊ฒ ๋งก๊ธฐ๊ณ , ๋น์ฆ๋์ค ๋ก์ง์ ํด๋นํ๋ 2๋ฒ ์ ํจ์ฑ ๊ฒ์ฆ์ Model์๊ฒ ๋งก๊ธธ ๊ฒ์ด๋ค.
ํ์ง๋ง ์ฒ์ ๋ฏธ์ ์ ์ํํ์ ๋๋ง ํด๋ ์ด ๊ธฐ์ค์ ์ ํ๋ ๊ฒ์ด ์ด๋ ค์ ๋ค. ๊ฒฝํ์ด ๋ถ์กฑํด์์ผ ์๋ ์๊ณ , ๋ฌด์กฐ๊ฑด์ ์ธ ๋ต์ด ์์ ๊ฒ์ด๋ผ๊ณ ์๊ฐํด์์ผ ์๋ ์๋ค. ์ด์จ๋ ์ด ๋ถ๋ถ์ ๋ํด์๋ ๋ฆฌ๋ทฐ์ด๋๊ป ํผ๋๋ฐฑ์ ๋ฐ์๊ณ , ์ต์ข ์คํ ์์๋ 1๋ฒ ์ ํจ์ฑ ๊ฒ์ฆ์ ์ฑ ์์ View์๊ฒ, 2๋ฒ ์ ํจ์ฑ ๊ฒ์ฆ์ ์ฑ ์์ Model์๊ฒ ์์ํ์๋ค.
ํ์ง๋ง ์ด๋ ๊ฒ ์ญํ ์ ๋ถ๋ฆฌํ๊ณ ๋๋ ์ ํจ์ฑ ๊ฒ์ฆ์ด ๋ ๋ณต์กํด์ก๋ค. View๋ถํฐ Controller, ๊ทธ๋ฆฌ๊ณ Model ๋ชจ๋ ๊ฐ์ฒด๊ฐ '์ง์์ ์ผ๋ก' ํ๋ ฅํด์ผ ํ๋ ๋ก์ง์ด ๋์ด ๋ฒ๋ ธ๊ธฐ ๋๋ฌธ์ด๋ค.
'์ง์์ ์ผ๋ก ํ๋ ฅ'ํ๋ค๋ ๋ง์ด ์ ๋งคํ ์ ์์ด ์ดํด๋ฅผ ๋๊ธฐ ์ํด, View์๋ค๊ฐ 1๋ฒ๊ณผ 2๋ฒ ์ ํจ์ฑ ๊ฒ์ฆ์ ๋ชจ๋ ๊ตฌํํ๋ค๊ณ ๊ฐ์ ํ์. ๊ทธ๋ฆฌ๊ณ ์ด๋ ์ฌ์ฉ์๊ฐ ๋ก๋ ๋ฒํธ๋ก 100์ ์ ๋ ฅํ๋ค. InputView์์๋ 100์ด ์ซ์ ๊ฐ์๋ ํด๋นํ์ง๋ง(=1๋ฒ ๊ฒ์ฆ์ ํต๊ณผํ์ง๋ง) 45๋ณด๋ค ํฐ ์ซ์์ด๊ธฐ ๋๋ฌธ์ ์ ๋ ฅ์ด ์๋ชป๋์์์ ๊ฐ์งํ๋ค. ๊ทธ๋ฌ๋ฉด ๋ฐ๋ก ์๋ฌ ๋ฉ์ธ์ง๋ฅผ ๋ด๋ฑ๊ฒ ๋๊ณ , ์ดํ ์ฌ์ฉ์๊ฐ ์ฌ๋ฐ๋ฅธ ๊ฐ์ ์ ๋ ฅํ ๋๊น์ง ๋๋ต ์๋์ ๊ฐ์ดwhile๋ฌธ์ ํตํด ์ ๋ ฅ์ ์์ฒญํ ์ ์๋ค. (์๋ ์์์์๋ Integer์ธ์ง๋ง ๊ฒ์ฆํ๊ธฐ๋ ํ์ง๋ง, ์ซ์ ๋ฒ์๊น์ง ๊ฒ์ฆํ๋ค๊ณ ํด๋ ๋น์ทํ ํํ์ผ ๊ฑฐ๋ค).
ํ์ง๋ง 1๋ฒ ์ ํจ์ฑ ๊ฒ์ฆ๊ณผ 2๋ฒ ์ ํจ์ฑ ๊ฒ์ฆ์ ์ฑ ์์ ๊ฐ๊ฐ View์ Model์๊ฒ ์์ํ๋ฉด ์ด๋ป๊ฒ ๋ ๊น? ์ด๋ ์ฌ์ฉ์๊ฐ 100์ ์ ๋ ฅํ๋ค๊ณ ๊ฐ์ ํด๋ณด์. View ์ ์ฅ์์๋ 100์ด ์ซ์๊ฐ์ ํด๋นํ๊ธฐ ๋๋ฌธ์ ์ ํจ์ฑ ๊ฒ์ฆ์ ํต๊ณผ์ํค๊ณ Controller์๊ฒ ์ซ์๋ฅผ ์ ๋ฌํ๋ค. ๊ทธ๋ฌ๋ฉด Controller์์๋ ์ด์ Model์๊ฒ ์ซ์ 100์ ์ ๋ฌํ๋๋ฐ, Model์์๋ ์ซ์ 100์ด ์ ํจ์ฑ ๊ฒ์ฆ์ ํต๊ณผํ์ง ๋ชปํ๋ค. ์ด์ Model์์๋ Exception์ ํตํด Controller์๊ฒ ์ด ์ฌ์ค์ ์๋ฆฌ๊ฒ ๋๊ณ , Controller์์๋ OutputView๋ฅผ ์ด์ฉํ์ฌ ์ด ์ฌ์ค์ ์ฌ์ฉ์์๊ฒ ์๋ฆฐ๋ค. ๊ทธ๋ฆฌ๊ณ InputView ๋ฅผ ํตํด ๋ค์ ์ฌ์ฉ์๋ก๋ถํฐ ์ ๋ ฅ์ ๋ฐ์์ผ ํ๋ค. ์ฌ๋ฐ๋ฅธ ๋ฒ์์ ํด๋นํ๋ ๊ฐ์ด ๋ค์ด์ฌ ๋๊น์ง ์ด ์ฌ์ดํด์ ๋ฌด์ํ ๋ฐ๋ณตํด์ผ ํ๋ค.
์ฆ, ์ ์ฝ๋์ ์ฒซ๋ฒ์งธ์ ๋๋ฒ์งธ ๋ ธ๋์ ๋ฐ์ค์ ๊ฐ์ด Controller ๋จ์์๋ while๋ฌธ์ ํตํด ๊ณ์ ๊ฒ์ฆ์ ์ํํ๊ฒ ๋๊ณ , ๋ง์ง๋ง ์ธ ๋ฒ์งธ ๋ฐ์ค์ ๋ฉ์๋ ๋ด๋ถ์์๋ ์ ๋ ฅ๊ฐ์ ๋ํ ๊ฒ์ฆ์ ์ํํ๊ฒ ๋๋ค. ๋ฏธ์ ์ ํ ๋น์์๋ ์ด๋ ๊ฒ '๊ฒ์ฆ'์ด๋ผ๋ ํ์์ ๋ชจ๋ ๊ฐ์ฒด๊ฐ ์ฐธ์ฌํ๋ ๊ฒ ๋๊ฒ ์ด์ํ๋ค๊ณ ์๊ฐํ๋ค. ๊ทธ๋์ ๋ง์ฝ View ๊ฐ์ฒด๋ค์ Controller๊ฐ ์๋ Application์ ์์ฑํ๋ค๋ฉด Application์ main ์ฝ๋๊ฐ ๋๋ฌด ๋ณต์กํด์ง ๊ฒ์ด๋ผ๊ณ ์๊ฐํ๋ค. ๋ ๋ค์ ์ฒซ๋ฒ์งธ ์ด์ ๋ก ํ๊ทํ๋ ๊ฒ ๊ฐ์ ๋๋์ด ์๋๋ฐ, ์ด์จ๋ Application์ ์ฝ๋๊ฐ ๋ณต์กํด์ง๋ ๊ฒ ๊บผ๋ ค์ก๋ค. ๋ด๊ฐ ์ค ใ ๊ทธ๋ ๊ฒ ๋๋ผ๋์ง ์ ๋ฐ ๊ทธ ์ด์ ๋ฅผ ์ฐพ๊ณ ์ถ๋ค.
์ง๊ธ์ ์์ ๋ค์ ๋ณด๋ ๋จ์ํ ์ ํจ์ฑ์ '๊ฒ์ฆ'ํ๋ ๊ฒ์์ ๋๋๋ ๊ฒ์ด ์๋๋ผ ์ด ์ฌ์ค์ ์ฌ์ฉ์์๊ฒ '์๋ด'ํ๊ณ ๋ค์ ์ ๋ ฅ์ ๋ฐ์์ผ ํ๋ View์ Controller, ๊ทธ๋ฆฌ๊ณ Model์ด ๋ชจ๋ ์ฐธ์ฌํ ์ ๋ฐ์ ์๋ ๊ฒ ๊ฐ๋ค.
์ธ ๋ฒ์งธ ์ด์ : ํ ๋จ ๋ค์ฌ์ฐ๊ธฐ๊ฐ ๋๋ฌด ํ๋ค์๋ค
์ฌ๋ฌ ์๊ตฌ์ฌํญ ์ค ๋ ๊ฐ์ฅ ๊ดด๋กญ๊ฒ ํ๋ ๊ฑด 'ํ ๋ฉ์๋์ ์ค์ง ํ ๋จ๊ณ์ ๋ค์ฌ์ฐ๊ธฐ๋ง ํ๋ค.' ์๋ค. ์ฝ๋๋ฅผ ํตํด ์ง์ ์ ์ผ๋ก ํ์ด์ฐ์๋ฉด, for๋ฌธ์ด๋ while ๋ฌธ ์์ if๋ฅผ ์ฌ์ฉํด์๋ ์ ๋๋ค. ๊ทธ๋ผ ์ด๋ป๊ฒ ํ๋? if๋ฌธ์ ์๊ตฌํ๋ ๋ก์ง์ ๋ฉ์๋๋ก ๋ถ๋ฆฌํ๋ฉด ๋๋ค.
๊ต์ฅํ ์ฌ์ด ํด๊ฒฐ๋ฐฉ๋ฒ ๊ฐ์ง๋ง, ์์ธ๋ก ์ด๋ ต๋ค. ๊ทธ ๋์ ๋ด๊ฐ ๋๋ฌด ์ ์ฐจ์งํฅ์ ์ผ๋ก ๊ฐ๋ฐ์ ํด์๋ ์ถ์ผ๋ฉด์๋ ์์งํ ๊ฐ๋์ '์ ์ง์ง ์ด๋ ๊ฒ๊น์ง ํด์ผ ๋ผ?'๋ผ๋ ์๊ฐ๋ ๋ค์๋ค. ๋ฉ์๋๋ก ๋ถ๋ฆฌ๋ ํ ์ ์๋๋ฐ ๊ทธ๋ ๊ฒ ๋ถ๋ฆฌํ ๋ฉ์๋๋ ์ ๋ง ๊ทธ๋ฅ ์ฝ๋๋ฅผ ๋ถ๋ฆฌํ ๊ฒ ์ด์ธ์๋ ์๋ฏธ๊ฐ ์์ด๋ณด์๊ธฐ ๋๋ฌธ์ด๋ค. ๋ฌผ๋ก ์ง๊ธ์ else๋ฅผ ๋ณด๋ฉด ๋๋ ๋ชจ๋ฅด๊ฒ '์ ์ข ์ด์ํ๋ฐ...' ํ ์ ๋๋ก ์งง์ ์๊ฐ ์์ ํ ๋จ๊ณ ๋ค์ฌ์ฐ๊ธฐ์ ์ต์ํด์ ธ๋ฒ๋ ธ๊ณ , ์ด๋ ๊ฒ ๋นก์ธ๊ฒ ์ฐ์ตํจ์ผ๋ก์จ ์ป๋ ์ด์ ๋ ๋๊ผ๋ค.
์ต๊ด์ ์ผ๋ก else๋ก ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ ์ 'ํน์ ์ด ๋ฉ์๋๋ฅผ ๋ถ๋ฆฌํด์ ์ฌ์ฌ์ฉํ ์๋ ์์๊น?' ์๊ฐํด๋ณด๊ฒ ๋๊ณ , ๊ตณ์ด else๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ๋น ๋ฅด๊ฒ returnํด๋ ๋๋์ง ํ์ธํด๋ณด๊ฒ ๋์๋ค.
์ด์ฉ๋ค ๋ณด๋ ์ฒซ๋ฒ์งธ ํ๊ณ ๊ฐ ๋ ๊ธธ์ด์ ธ๋ฒ๋ ธ๋๋ฐ, ์ฌ์ค ๊ฐ๋ฐํ๋ฉด์ ๋ ์จ๊ฐ ๊ณ ๋ฏผ๊ณผ ์ก์๊ฐ์ ๋ฐ์๋ฐ์๋ฐ๋ ์ ๋๋ค. ์ด ๋ฏธ์ ๋๋ถ์ ์ค๋๋ง์ ์๋ฐ๋ก ๊ฐ๋ฐํด๋ณด๊ธฐ๋ ํ๊ณ , ์ฒ์์ผ๋ก TDD๋ผ๋ ๊ฑธ ํด๋ณด๊ธฐ๋ ํ์ด์(ํ์ง๋ง TDD๋ฅผ ํ๋ค๊ณ ๋งํ๊ธฐ ๋ถ๋๋ฌ์ธ ์์ค์ TDD์๋ค) ๊ฐ์ฅ ์ ์ฐฉ์ด ๊ฐ๊ณ ์์ฌ์๋ ๋ง์ด ๋จ๋๋ค.