- ๊ธฐ์ด์ ์ธ ํ๋ฆ ์ ์ด ๋ฐ ๊ฐ์ฒด ์งํฅ ์ค๊ณ ๊ฐ๋ ์ ๋ณต์ตํ๊ณ ์ฐ์ตํ๋ ์ฐจ์์์ ํค์ค์คํฌ๋ฅผ ๋ง๋ค์ด๋ณด์
ํ๋ก์ ํธ ์ทจ์ง
โ ํด๋์ค์ ๊ฐ๋ ์ ์ดํดํ๊ณ , ๊ฐ์ฒด ์งํฅ ์ค๊ณ๋ฅผ ํ์ฉํด๋ณด์ (์๋ฐ ๋ฌธ๋ฒ์ ์ค์ต๊ณผ ๊ฐ์ฒด ์งํฅ ๊ฐ๋ ์ ์ ์ฉ)
1. LV1 - ํ์ (์งํ์๋ฃ)
- ๊ธฐ๋ณธ์ ์ธ ํค์ค์คํฌ๋ฅผ ํ๋ก๊ทธ๋๋ฐํด๋ณด์
โ Scanner ํ์ฉ๋ฒ, ์กฐ๊ฑด๋ฌธ, ๋ฐ๋ณต๋ฌธ์ ์ฌํ์ธํ๋ฉฐ ์ ๋ ฅ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ ๊ฐํ
2. LV2 - ํ์ (์งํ์๋ฃ)
- ๊ฐ์ฒด ์งํฅ ์ค๊ณ๋ฅผ ์ ์ฉํด ํ๋ฒ๊ฑฐ ๋ฉ๋ด๋ฅผ ํด๋์ค๋ก ๊ด๋ฆฌํ๊ธฐ
โ ํ๋ฒ๊ฑฐ ๋ฉ๋ด๋ฅผ MenuItem ํด๋์ค์ List ๋ฅผ ํตํด ๊ด๋ฆฌ
3. LV3 - ํ์ (์งํ์๋ฃ)
- ๊ฐ์ฒด ์งํฅ ์ค๊ณ๋ฅผ ์ ์ฉํด ์์ ์ ์ด๋ฅผ ํด๋์ค๋ก ๊ด๋ฆฌํ๊ธฐ
โ ๊ฐ์ฒด ์งํฅ ๊ฐ๋ ์ ํ์ตํ๊ณ , ๋ฐ์ดํฐ๋ฅผ ๊ตฌ์กฐ์ ์ผ๋ก ๊ด๋ฆฌํ๋ฉฐ, ํ๋ก๊ทธ๋จ์ ์ค๊ณํ๋ ๋ฐฉ๋ฒ์ ์ตํ๋ณด์
4. LV4 - ํ์ (์งํ์๋ฃ)
- ๊ฐ์ฒด ์งํฅ ์ค๊ณ๋ฅผ ์ ์ฉํด ์์ ๋ฉ๋ด์ ์ฃผ๋ฌธ ๋ด์ญ์ ํด๋์ค ๊ธฐ๋ฐ์ผ๋ก ๊ด๋ฆฌํ๊ธฐ
5. LV5 - ํ์ (์งํ์๋ฃ)
- ์บก์ํ ์ ์ฉํ๊ธฐ
โ MenuItem, Menu ๊ทธ๋ฆฌ๊ณ Kiosk ํด๋์ค์ ํ๋์ ์ง์ ์ ๊ทผํ์ง ๋ชปํ๋๋ก ์ค์ ํ์
โป Getter ์ Setter ๋ฉ์๋๋ฅผ ์ฌ์ฉํด ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํด๋ณด์
6. LV6 - ๋์ ๊ธฐ๋ฅ (๋ฏธ์งํ)
- ์ฅ๋ฐ๊ตฌ๋ ๋ฐ ๊ตฌ๋งคํ๊ธฐ ๊ธฐ๋ฅ์ ์ถ๊ฐํ๊ธฐ
โ ํด๋์ค ๊ฐ ์ฐ๊ณ๋ฅผ ํตํด ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ๊ธฐ๋ณธ์ ์ธ ์ค๊ณ๋ฅผ ์ตํ๊ณ ,
โ์ฌ์ฉ์ ์ ๋ ฅ์ ๋ฐ๋ฅธ ํ๋ก๊ทธ๋จ ํ๋ฆ ์ ์ด์ ์ํ ๊ด๋ฆฌ๋ฅผ ํ์ตํด๋ณด์
7. LV7 - ๋์ ๊ธฐ๋ฅ (๋ฏธ์งํ)
- Enum, ๋๋ค & ์คํธ๋ฆผ์ ํ์ฉํ ์ฃผ๋ฌธ ๋ฐ ์ฅ๋ฐ๊ตฌ๋ ๊ด๋ฆฌ
โ ๊ณ ๊ธ ์๋ฐ ๊ธฐ๋ฅ์ ํ์ฉํด ํ๋ก๊ทธ๋จ์ ํจ์จ์ฑ๊ณผ ์ฝ๋์ ๊ฐ๋ ์ฑ์ ๊ฐ์ ํด๋ณด์
ํค์ค์คํฌ - LV1
- ํ๋ฒ๊ฑฐ ๋ฉ๋ด ์ถ๋ ฅ ๋ฐ ์ ํํ๊ธฐ
โถ ์์ฑ ์ฝ๋ ๋ฐ๋ก๊ฐ๊ธฐ -
https://github.com/Roloya28/Kiosk/blob/master/src/main/java/com/example/Level1/Kiosk.java
ํค์ค์คํฌ - LV2
- MenuItem ๊ฐ์ฒด ์์ฑ ํ, ์ ํจ๊ฐ ์ธํ ๋ฐ List ์ ์ธ์ผ๋ก ์ฌ๋ฌ MenuItem ์ ์ถ๊ฐ
- ๋ฐ๋ชฉ๋ฌธ์ ํ์ฉํด menuItems ๋ฅผ ํ์ํ๋ฉด์ ํ๋์ฉ ์ ๊ทผ
โถ ์์ฑ ์ฝ๋ ๋ฐ๋ก๊ฐ๊ธฐ -
https://github.com/Roloya28/Kiosk/tree/master/src/main/java/com/example/Level2
ํค์ค์คํฌ - LV3
- 'Kiosk' ํด๋์ค ์์ฑํ๊ธฐ โ 'MenuItem'์ ๊ด๋ฆฌํ๋ ๋ฆฌ์คํธ๊ฐ ํ๋๋ก ์กด์ฌํ๋ค. โ 'main' ํจ์์ใ ๊ด๋ฆฌํ๋ ์ ๋ ฅ๊ณผ ๋ฐ๋ณต๋ฌธ ๋ก์ง์ ์ด์ 'start' ํจ์๋ฅผ ๋ง๋ค์ด ๊ด๋ฆฌ โ 'List menuItems ๋ 'Kiosk' ํด๋์ค ์์ฑ์๋ฅผ ํตํด ๊ฐ์ ํ ๋นํ๋ค.
โถ ์์ฑ ์ฝ๋ ๋ฐ๋ก๊ฐ๊ธฐ -
https://github.com/Roloya28/Kiosk/tree/master/src/main/java/com/example/Level3
ํค์ค์คํฌ - LV4 ~ 5
- List์ 'Kiosk' ํด๋์ค๊ฐ ๊ด๋ฆฌํ๊ธฐ์ ์ ์ ํ์ง ์์ผ๋ฏ๋ก Menu ํด๋์ค๊ฐ ๊ด๋ฆฌํ๋๋ก ๋ณ๊ฒฝ
- ์ฌ๋ฌ ๋ฒ๊ฑฐ๋ค์ ํฌํจํ๋ ์์ ๊ฐ๋ '๋ฒ๊ฑฐ' ๊ฐ์ '์นดํ ๊ณ ๋ฆฌ ์ด๋ฆ' ํ๋๋ฅผ ๊ฐ๋๋ค.
โถ ์์ฑ ์ฝ๋ ๋ฐ๋ก๊ฐ๊ธฐ -
https://github.com/Roloya28/Kiosk/tree/master/src/main/java/com/example/Level4and5
์ฐธ์กฐ์๋ฃ
- Java ๋ฌธ๋ฒ ์ข ํฉ๋ฐ ๊ฐ์, '๊ณ์ฐ๊ธฐ ๋ง๋ค๊ธฐ' ๊ณผ์
๋ง์น๋ฉฐ
์ด๋ฒ์ ์งํํ 'Kiosk ๋ง๋ค๊ธฐ' ๊ณผ์ ๋ ์ง๋๋ฒ '๊ณ์ฐ๊ธฐ ๋ง๋ค๊ธฐ' ๊ณผ์ ๋ณด๋ค๋ ์ํํ๊ฒ ์งํ์ด ๋์๋ค.
ํ์ง๋ง ์ค๊ฐ์ค๊ฐ ๋ฌธ๋ฒ์ ์๋ชป ์์ฑํ์ฌ ๊ผฌ์ธ ์ฝ๋๋ฅผ ์ฐพ์๋ด๋๋ฐ ํ์ธ์์ ์๋นํ๋ ์์ ์ ๋ณผ๋๋ ์์ง
๊ธฐ๋ณธ์ด ๋ง์ด ๋ถ์กฑํ๋ค๋์ ์ ๋๋๋ค. ๋ค์ ๊ณผ์ ์ ๊น์ง ๊พธ์คํ ๊ธฐ๋ณธ๊ธฐ๋ฅผ ํํํ ์์
์ด๋ณด์ ์ธ ์ค์๋ฅผ ์ค์ด๋๋ฐ ์ค์ ์ ๋๋๋ก ํด๋ณด์.