-
์๊ตฌ์ฌํญ์ด ๊ฐ์ง๋ ์๋
- ์ ๋ ฅ ์ฒ๋ฆฌ์ ๊ฐ๋จํ ํ๋ฆ ์ ์ด๋ฅผ ๋ณต์ตํฉ๋๋ค. (ํ๋ก๊ทธ๋๋ฐ ๊ฒ์ฆ**)**
-
Scannerํ์ฉ๋ฒ, ์กฐ๊ฑด๋ฌธ, ๋ฐ๋ณต๋ฌธ์ ์ฌํ์ธํ๋ฉฐ ์ ๋ ฅ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ ๊ฐํ
-
ํ๋ฒ๊ฑฐ ๋ฉ๋ด ์ถ๋ ฅ ๋ฐ ์ ํํ๊ธฐ
- ์คํ์ ํ๋ฒ๊ฑฐ ๋ฉ๋ด๊ฐ ํ์๋๊ณ , ์ดํ Scanner๋ก ์ซ์๋ฅผ ์ ๋ ฅ๋ฐ์์ ๋ฉ๋ด๋ฅผ ์ ํํ ์ ์๋ค.
- ์ ์๋ ๋ฉ๋ด ์ค ์ ๋ ฅ๋ฐ์ ์ซ์์ ๋ฐ๋ผ ๋ค๋ฅธ ๋ก์ง์ ์คํํ๋ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค.
- ๋ฐ๋ณต๋ฌธ์ ์ด์ฉํด์ ํน์ ๋ฒํธ๊ฐ ์ ๋ ฅ๋๋ฉด ํ๋ก๊ทธ๋จ์ ์ข ๋ฃํฉ๋๋ค
Lv1์ ๊ตฌํํ๋ฉด ํฐ๋ฏธ๋์ ์ด๋ ๊ฒ ๋ณด์ฌ์ง๋๋ค.
[ SHAKESHACK MENU ]
1. ShackBurger | W 6.9 | ํ ๋งํ , ์์์ถ, ์์์ค๊ฐ ํ ํ๋ ์น์ฆ๋ฒ๊ฑฐ
2. SmokeShack | W 8.9 | ๋ฒ ์ด์ปจ, ์ฒด๋ฆฌ ํํผ์ ์์์ค๊ฐ ํ ํ๋ ์น์ฆ๋ฒ๊ฑฐ
3. Cheeseburger | W 6.9 | ํฌํ
์ดํ ๋ฒ๊ณผ ๋นํํจํฐ, ์น์ฆ๊ฐ ํ ํ๋ ์น์ฆ๋ฒ๊ฑฐ
4. Hamburger | W 5.4 | ๋นํํจํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ผ์ฑ๊ฐ ๋ค์ด๊ฐ ๊ธฐ๋ณธ๋ฒ๊ฑฐ
0. ์ข
๋ฃ | ์ข
๋ฃ
0 <- // 0์ ์
๋ ฅ
ํ๋ก๊ทธ๋จ์ ์ข
๋ฃํฉ๋๋ค.
โ ํ์ ๊ณผ์ Lv2. ๊ฐ์ฒด ์งํฅ ์ค๊ณ๋ฅผ ์ ์ฉํด ํ๋ฒ๊ฑฐ ๋ฉ๋ด๋ฅผ ํด๋์ค๋ก ๊ด๋ฆฌํ๊ธฐ
-
MenuItemํด๋์ค ์์ฑํ๊ธฐ- ์ค๋ช : ๊ฐ๋ณ ์์ ํญ๋ชฉ์ ๊ด๋ฆฌํ๋ ํด๋์ค์ ๋๋ค. ํ์ฌ๋ ํ๋ฒ๊ฑฐ๋ง ๊ด๋ฆฌํฉ๋๋ค.
- ํด๋์ค๋
์ด๋ฆ,๊ฐ๊ฒฉ,์ค๋ชํ๋๋ฅผ ๊ฐ์ต๋๋ค.
-
mainํจ์์์MenuItemํด๋์ค๋ฅผ ํ์ฉํ์ฌ ํ๋ฒ๊ฑฐ ๋ฉ๋ด๋ฅผ ์ถ๋ ฅํฉ๋๋ค.-
MenuItem๊ฐ์ฒด ์์ฑ์ ํตํด์ด๋ฆ,๊ฐ๊ฒฉ,์ค๋ช์ ์ธํ ํฉ๋๋ค.- ํค์๋:
new
- ํค์๋:
-
List๋ฅผ ์ ์ธํ์ฌ ์ฌ๋ฌMenuItem์ ์ถ๊ฐํฉ๋๋ค.-
List<MenuItem> menuItems = new ArrayList<>();
-
- ๋ฐ๋ณต๋ฌธ์ ํ์ฉํด
menuItems๋ฅผ ํ์ํ๋ฉด์ ํ๋์ฉ ์ ๊ทผํฉ๋๋ค.
-
-
Lv2 ์ ๊ตฌ์กฐ ์์.
public static void main(String[] args) {
// List ์ ์ธ ๋ฐ ์ด๊ธฐํ
// add ํจ์๋ฅผ ํตํด new MenuItem(์ด๋ฆ, ๊ฐ๊ฒฉ, ์ค๋ช
) List์ ์ฝ์
// Scanner ์ ์ธ
// ๋ฐ๋ณต๋ฌธ์ ํ์ฉํด List ์์ ์๋ MenuItem์ ํ๋์ฉ ์ถ๋ ฅ
// ์ซ์๋ฅผ ์
๋ ฅ ๋ฐ๊ธฐ
// ์
๋ ฅ๋ ์ซ์์ ๋ฐ๋ฅธ ์ฒ๋ฆฌ
// ํ๋ก๊ทธ๋จ์ ์ข
๋ฃ
// ์ ํํ ๋ฉ๋ด : ์ด๋ฆ, ๊ฐ๊ฒฉ, ์ค๋ช
}
-
์๊ตฌ์ฌํญ์ด ๊ฐ์ง๋ ์๋
- ๊ฐ์ฒด ์งํฅ ๊ฐ๋ ์ ํ์ตํ๊ณ , ๋ฐ์ดํฐ๋ฅผ ๊ตฌ์กฐ์ ์ผ๋ก ๊ด๋ฆฌํ๋ฉฐ ํ๋ก๊ทธ๋จ์ ์ค๊ณํ๋ ๋ฐฉ๋ฒ์ ์ตํ๋๋ค.
-
mainํจ์์์ ๊ด๋ฆฌํ๋ ์ ์ฒด ์์ ์ ์ด๋ฅผKioskํด๋์ค๋ฅผ ํตํด ๊ด๋ฆฌํฉ๋๋ค.
-
Kioskํด๋์ค ์์ฑํ๊ธฐ- ์ค๋ช : ํค์ค์คํฌ ํ๋ก๊ทธ๋จ์ ๋ฉ๋ด๋ฅผ ๊ด๋ฆฌํ๊ณ ์ฌ์ฉ์ ์ ๋ ฅ์ ์ฒ๋ฆฌํ๋ ํด๋์ค์ ๋๋ค.
-
MenuItem์ ๊ด๋ฆฌํ๋ ๋ฆฌ์คํธ๊ฐ ํ๋๋ก ์กด์ฌํฉ๋๋ค. -
mainํจ์์์ ๊ด๋ฆฌํ๋ ์ ๋ ฅ๊ณผ ๋ฐ๋ณต๋ฌธ ๋ก์ง์ ์ด์ startํจ์๋ฅผ ๋ง๋ค์ด ๊ด๋ฆฌํฉ๋๋ค. -
List<MenuItem> menuItems๋Kioskํด๋์ค ์์ฑ์๋ฅผ ํตํด ๊ฐ์ ํ ๋นํฉ๋๋ค.-
Kiosk๊ฐ์ฒด๋ฅผ ์์ฑํ๊ณ ์ฌ์ฉํ๋mainํจ์์์ ๊ฐ์ฒด๋ฅผ ์์ฑํ ๋ ๊ฐ์ ๋๊ฒจ์ค๋๋ค.
-
-
์๊ตฌ์ฌํญ์ ๋ถํฉํ๋์ง ๊ฒํ
- ํค์ค์คํฌ ํ๋ก๊ทธ๋จ์ ์์ํ๋ ๋ฉ์๋๊ฐ ๊ตฌํ๋์ด์ผ ํฉ๋๋ค.
- ์ฝ์์ ํ๋ฒ๊ฑฐ ๋ฉ๋ด๋ฅผ ์ถ๋ ฅํฉ๋๋ค.
- ์ฌ์ฉ์์ ์ ๋ ฅ์ ๋ฐ์ ๋ฉ๋ด๋ฅผ ์ ํํ๊ฑฐ๋ ํ๋ก๊ทธ๋จ์ ์ข ๋ฃํฉ๋๋ค.
- ์ ํจํ์ง ์์ ์ ๋ ฅ์ ๋ํด ์ค๋ฅ ๋ฉ์์ง๋ฅผ ์ถ๋ ฅํฉ๋๋ค.
-
0์ ์ ๋ ฅํ๋ฉด ํ๋ก๊ทธ๋จ์ด โ๋ค๋ก๊ฐ๊ธฐโ๋๊ฑฐ๋ โ์ข ๋ฃโ๋ฉ๋๋ค.
- ํค์ค์คํฌ ํ๋ก๊ทธ๋จ์ ์์ํ๋ ๋ฉ์๋๊ฐ ๊ตฌํ๋์ด์ผ ํฉ๋๋ค.
-
Menuํด๋์ค ์์ฑํ๊ธฐ- ์ค๋ช
: MenuItem ํด๋์ค๋ฅผ ๊ด๋ฆฌํ๋ ํด๋์ค์
๋๋ค.
์๋ฅผ ๋ค์ด, ๋ฒ๊ฑฐ ๋ฉ๋ด, ์๋ฃ ๋ฉ๋ด ๋ฑ ๊ฐ ์นดํ
๊ณ ๋ฆฌ ๋ด์ ์ฌ๋ฌ
MenuItem์ ํฌํจํฉ๋๋ค. -
List<MenuItem>์Kioskํด๋์ค๊ฐ ๊ด๋ฆฌํ๊ธฐ์ ์ ์ ํ์ง ์์ผ๋ฏ๋ก Menu ํด๋์ค๊ฐ ๊ด๋ฆฌํ๋๋ก ๋ณ๊ฒฝํฉ๋๋ค. - ์ฌ๋ฌ ๋ฒ๊ฑฐ๋ค์ ํฌํจํ๋ ์์ ๊ฐ๋
โ๋ฒ๊ฑฐโ ๊ฐ์
์นดํ ๊ณ ๋ฆฌ ์ด๋ฆํ๋๋ฅผ ๊ฐ์ต๋๋ค. - ๋ฉ๋ด ์นดํ ๊ณ ๋ฆฌ ์ด๋ฆ์ ๋ฐํํ๋ ๋ฉ์๋๊ฐ ๊ตฌํ๋์ด์ผ ํฉ๋๋ค.
- ์ค๋ช
: MenuItem ํด๋์ค๋ฅผ ๊ด๋ฆฌํ๋ ํด๋์ค์
๋๋ค.
์๋ฅผ ๋ค์ด, ๋ฒ๊ฑฐ ๋ฉ๋ด, ์๋ฃ ๋ฉ๋ด ๋ฑ ๊ฐ ์นดํ
๊ณ ๋ฆฌ ๋ด์ ์ฌ๋ฌ
-
๊ตฌ์กฐ ์์
public static void main(String[] args) {
// Menu ๊ฐ์ฒด ์์ฑํ๋ฉด์ ์นดํ
๊ณ ๋ฆฌ ์ด๋ฆ ์ค์
// Menu ํด๋์ค ๋ด ์๋ List<MenuItem> ์ MenuItem ๊ฐ์ฒด ์์ฑํ๋ฉด์ ์ฝ์
// Kiosk ๊ฐ์ฒด ์์ฑ
// Kiosk ๋ด ์์ํ๋ ํจ์ ํธ์ถ
}
public class Kiosk {
start() {
// ์ค์บ๋ ์ ์ธ
// ๋ฐ๋ณต๋ฌธ ์์
// List์ Menu ํด๋์ค ํ์ฉํ์ฌ ์์ ์นดํ
๊ณ ๋ฆฌ ๋ฉ๋ด ์ถ๋ ฅ
// ์ซ์ ์
๋ ฅ ๋ฐ๊ธฐ
// ์
๋ ฅ ๋ฐ์ ์ซ์๊ฐ ์ฌ๋ฐ๋ฅด๋ค๋ฉด ์ธ๋ฑ์ค๋ก ํ์ฉํ์ฌ List์ ์ ๊ทผํ๊ธฐ
// List<Menu>์ ์ธ๋ฑ์ค๋ก ์ ๊ทผํ๋ฉด Menu๋ง ์ถ์ถํ ์ ์๊ฒ ์ฃ ?
// Menu๊ฐ ๊ฐ์ง List<MenuItem>์ ๋ฐ๋ณต๋ฌธ์ ํ์ฉํ์ฌ ํ๋ฒ๊ฑฐ ๋ฉ๋ด ์ถ๋ ฅ
// ์ซ์ ์
๋ ฅ ๋ฐ๊ธฐ
// ์
๋ ฅ ๋ฐ์ ์ซ์๊ฐ ์ฌ๋ฐ๋ฅด๋ค๋ฉด ์ธ๋ฑ์ค๋ก ํ์ฉํด์ Menu๊ฐ ๊ฐ์ง๊ณ ์๋ List<MenuItem>์ ์ ๊ทผํ๊ธฐ
// menu.getMenuItems().get(i); ๊ฐ์ ํ์์ผ๋ก ํ๋์ฉ ๋ค์ด๊ฐ์ ์ป์ด์์ผ ํฉ๋๋ค.
}
}
public class Menu {
// ์นดํ
๊ณ ๋ฆฌ ์ด๋ฆ ํ๋ ์ถ๊ฐ
// MenuItem ํด๋์ค๋ฅผ List๋ก ๊ด๋ฆฌ
// List์ ํฌํจ๋ MenuItem์ ์์ฐจ์ ์ผ๋ก ๋ณด์ฌ์ฃผ๋ ํจ์
// List๋ฅผ ๋ฆฌํดํ๋ ํจ์
// ๊ตฌ์กฐ์ ๋ง๊ฒ ํจ์๋ฅผ ์ ์ธํด๋๊ณ ๊ฐ์ ธ๋ค ์ฌ์ฉํ์ธ์.
}
public class MenuItem {
// ์ด๋ฆ, ๊ฐ๊ฒฉ, ์ค๋ช
ํ๋ ์ ์ธํ์ฌ ๊ด๋ฆฌ
// ๊ตฌ์กฐ์ ๋ง๊ฒ ํจ์๋ฅผ ์ ์ธํด๋๊ณ ๊ฐ์ ธ๋ค ์ฌ์ฉํ์ธ์.
}
- Lv.4 ํฐ๋ฏธ๋ ์ถ๋ ฅ ์:
[ MAIN MENU ]
1. Burgers
2. Drinks
3. Desserts
0. ์ข
๋ฃ | ์ข
๋ฃ
1 <- // 1์ ์
๋ ฅ
[ BURGERS MENU ]
1. ShackBurger | W 6.9 | ํ ๋งํ , ์์์ถ, ์์์ค๊ฐ ํ ํ๋ ์น์ฆ๋ฒ๊ฑฐ
2. SmokeShack | W 8.9 | ๋ฒ ์ด์ปจ, ์ฒด๋ฆฌ ํํผ์ ์์์ค๊ฐ ํ ํ๋ ์น์ฆ๋ฒ๊ฑฐ
3. Cheeseburger | W 6.9 | ํฌํ
์ดํ ๋ฒ๊ณผ ๋นํํจํฐ, ์น์ฆ๊ฐ ํ ํ๋ ์น์ฆ๋ฒ๊ฑฐ
4. Hamburger | W 5.4 | ๋นํํจํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ผ์ฑ๊ฐ ๋ค์ด๊ฐ ๊ธฐ๋ณธ๋ฒ๊ฑฐ
0. ๋ค๋ก๊ฐ๊ธฐ
2 <- // 2๋ฅผ ์
๋ ฅ
์ ํํ ๋ฉ๋ด: SmokeShack | W 8.9 | ๋ฒ ์ด์ปจ, ์ฒด๋ฆฌ ํํผ์ ์์์ค๊ฐ ํ ํ๋ ์น์ฆ๋ฒ๊ฑฐ
[ MAIN MENU ]
1. Burgers
2. Drinks
3. Desserts
0. ์ข
๋ฃ | ์ข
๋ฃ
0 <- // 0์ ์
๋ ฅ
ํ๋ก๊ทธ๋จ์ ์ข
๋ฃํฉ๋๋ค.
-
MenuItem,Menu๊ทธ๋ฆฌ๊ณKioskํด๋์ค์ ํ๋์ ์ง์ ์ ๊ทผํ์ง ๋ชปํ๋๋ก ์ค์ ํฉ๋๋ค. - Getter์ Setter ๋ฉ์๋๋ฅผ ์ฌ์ฉํด ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํฉ๋๋ค.
-
KioskChallenge1, KioskChallenge2 ํจํค์ง.
-
์๊ตฌ์ฌํญ์ด ๊ฐ์ง๋ ์๋
- ์๋: ํด๋์ค ๊ฐ ์ฐ๊ณ๋ฅผ ํตํด ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ๊ธฐ๋ณธ์ ์ธ ์ค๊ณ๋ฅผ ์ตํ๊ณ , ์ฌ์ฉ์ ์ ๋ ฅ์ ๋ฐ๋ฅธ ํ๋ก๊ทธ๋จ ํ๋ฆ ์ ์ด์ ์ํ ๊ด๋ฆฌ๋ฅผ ํ์ต
- ๋ชฉํ
- ํด๋์ค ๊ฐ ์ญํ ๋ถ๋ฆฌ๋ฅผ ์ดํดํ๊ณ , ์ ์ ํ ํ๋ ฅํ๋ ๊ฐ์ฒด๋ฅผ ์ค๊ณ
- ํ๋ก๊ทธ๋จ ์ํ ๋ณ๊ฒฝ ๋ฐ ๋ฐ์ดํฐ ์ ์ฅ์ ์ฐ์ต
- ์ฌ์ฉ์ ์ ๋ ฅ์ ๋ฐ๋ฅธ ์์ธ ์ฒ๋ฆฌ์ ์กฐ๊ฑด ๋ถ๊ธฐ๋ฅผ ์ฐ์ต
- ์ฅ๋ฐ๊ตฌ๋ ์์ฑ ๋ฐ ๊ด๋ฆฌ ๊ธฐ๋ฅ
- ์ฌ์ฉ์๊ฐ ์ ํํ ๋ฉ๋ด๋ฅผ ์ฅ๋ฐ๊ตฌ๋์ ์ถ๊ฐํ ์ ์๋ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
- ์ฅ๋ฐ๊ตฌ๋๋ ๋ฉ๋ด๋ช , ์๋, ๊ฐ๊ฒฉ ์ ๋ณด๋ฅผ ์ ์ฅํ๋ฉฐ, ํญ๋ชฉ์ ๋์ ์ผ๋ก ์ถ๊ฐ ๋ฐ ์กฐํํ ์ ์์ด์ผ ํฉ๋๋ค.
- ์ฌ์ฉ์๊ฐ ์๋ชป๋ ์ ํ์ ํ์ ๊ฒฝ์ฐ ์์ธ๋ฅผ ์ฒ๋ฆฌํฉ๋๋ค(์: ์ ํจํ์ง ์์ ๋ฉ๋ด ๋ฒํธ ์ ๋ ฅ)
- ์ฅ๋ฐ๊ตฌ๋ ์ถ๋ ฅ ๋ฐ ๊ธ์ก ๊ณ์ฐ
- ์ฌ์ฉ์๊ฐ ๊ฒฐ์ ๋ฅผ ์๋ํ๊ธฐ ์ ์, ์ฅ๋ฐ๊ตฌ๋์ ๋ด๊ธด ๋ชจ๋ ๋ฉ๋ด์ ์ด ๊ธ์ก์ ์ถ๋ ฅํฉ๋๋ค.
- ์ถ๋ ฅ ์์
- ๊ฐ ๋ฉ๋ด์ ์ด๋ฆ, ๊ฐ๊ฒฉ, ์๋
- ์ด ๊ธ์ก ํฉ๊ณ
- ์ฅ๋ฐ๊ตฌ๋ ๋ด๊ธฐ ๊ธฐ๋ฅ
- ๋ฉ๋ด๋ฅผ ํด๋ฆญํ๋ฉด ์ฅ๋ฐ๊ตฌ๋์ ์ถ๊ฐํ ์ง ๋ฌผ์ด๋ณด๊ณ , ์
๋ ฅ๊ฐ์ ๋ฐ๋ผ โ์ถ๊ฐโ, โ์ทจ์โ ์ฒ๋ฆฌํฉ๋๋ค.
- ๋ฉ๋ด๋ ํ ๋ฒ์ 1๊ฐ๋ง ๋ด์ ์ ์์ต๋๋ค.
- ์ฅ๋ฐ๊ตฌ๋์ ๋ด์ ๋ชฉ๋ก์ ์ถ๋ ฅํฉ๋๋ค.
- ๋ฉ๋ด๋ฅผ ํด๋ฆญํ๋ฉด ์ฅ๋ฐ๊ตฌ๋์ ์ถ๊ฐํ ์ง ๋ฌผ์ด๋ณด๊ณ , ์
๋ ฅ๊ฐ์ ๋ฐ๋ผ โ์ถ๊ฐโ, โ์ทจ์โ ์ฒ๋ฆฌํฉ๋๋ค.
- ์ฃผ๋ฌธ ๊ธฐ๋ฅ
- ์ฅ๋ฐ๊ตฌ๋์ ๋ด๊ธด ๋ชจ๋ ํญ๋ชฉ์ ์ถ๋ ฅํฉ๋๋ค.
- ํฉ์ฐํ์ฌ ์ด ๊ธ์ก์ ๊ณ์ฐํ๊ณ , โ์ฃผ๋ฌธํ๊ธฐโ๋ฅผ ๋๋ฅด๋ฉด ์ฅ๋ฐ๊ตฌ๋๋ฅผ ์ด๊ธฐํํฉ๋๋ค.
- ๊ตฌํ ์์:
[ MAIN MENU ]
1. Burgers
2. Drinks
3. Desserts
0. ์ข
๋ฃ | ์ข
๋ฃ
1 <- // 1์ ์
๋ ฅ
[ BURGERS MENU ]
1. ShackBurger | W 6.9 | ํ ๋งํ , ์์์ถ, ์์์ค๊ฐ ํ ํ๋ ์น์ฆ๋ฒ๊ฑฐ
2. SmokeShack | W 8.9 | ๋ฒ ์ด์ปจ, ์ฒด๋ฆฌ ํํผ์ ์์์ค๊ฐ ํ ํ๋ ์น์ฆ๋ฒ๊ฑฐ
3. Cheeseburger | W 6.9 | ํฌํ
์ดํ ๋ฒ๊ณผ ๋นํํจํฐ, ์น์ฆ๊ฐ ํ ํ๋ ์น์ฆ๋ฒ๊ฑฐ
4. Hamburger | W 5.4 | ๋นํํจํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ผ์ฑ๊ฐ ๋ค์ด๊ฐ ๊ธฐ๋ณธ๋ฒ๊ฑฐ
0. ๋ค๋ก๊ฐ๊ธฐ
2 <- // 2๋ฅผ ์
๋ ฅ
์ ํํ ๋ฉ๋ด: SmokeShack | W 8.9 | ๋ฒ ์ด์ปจ, ์ฒด๋ฆฌ ํํผ์ ์์์ค๊ฐ ํ ํ๋ ์น์ฆ๋ฒ๊ฑฐ
// 2๋ฒ์ ๋๋ฅด๋ฉด ๋์ค๋ ๋ฉ๋ด์
๋๋ค.
"SmokeShack | W 8.9 | ๋ฒ ์ด์ปจ, ์ฒด๋ฆฌ ํํผ์ ์์์ค๊ฐ ํ ํ๋ ์น์ฆ๋ฒ๊ฑฐ"
์ ๋ฉ๋ด๋ฅผ ์ฅ๋ฐ๊ตฌ๋์ ์ถ๊ฐํ์๊ฒ ์ต๋๊น?
1. ํ์ธ 2. ์ทจ์
1 <-
// 1๋ฒ์ ๋๋ฅด๋ฉด ๋์ค๋ ๋ฉ๋ด์
๋๋ค.
SmokeShack ์ด ์ฅ๋ฐ๊ตฌ๋์ ์ถ๊ฐ๋์์ต๋๋ค.
// ์ฅ๋ฐ๊ตฌ๋์ ๋ฌผ๊ฑด์ด ๋ค์ด ์์ผ๋ฉด ์๋์ ๊ฐ์ด [ ORDER MENU ] ๊ฐ ์ถ๊ฐ๋ก ์ถ๋ ฅ๋ฉ๋๋ค.
// ๋ง์ฝ์ ์ฅ๋ฐ๊ตฌ๋์ ๋ฌผ๊ฑด์ด ๋ค์ด ์์ง ์๋ค๋ฉด [ ORDER MENU ] ๊ฐ ์ถ๋ ฅ๋์ง ์์ต๋๋ค.
// ๋ฏธ์ถ๋ ฅ์ผ ๋ 4,5 ๋ฒ์ ๋๋ฅด๋ฉด ์์ธ๋ฅผ ๋์ ์ค์ผ ํฉ๋๋ค.
์๋ ๋ฉ๋ดํ์ ๋ณด์๊ณ ๋ฉ๋ด๋ฅผ ๊ณจ๋ผ ์
๋ ฅํด์ฃผ์ธ์.
[ MAIN MENU ]
1. Burgers
2. Drinks
3. Desserts
0. ์ข
๋ฃ | ์ข
๋ฃ
[ ORDER MENU ]
4. Orders | ์ฅ๋ฐ๊ตฌ๋๋ฅผ ํ์ธ ํ ์ฃผ๋ฌธํฉ๋๋ค.
5. Cancel | ์งํ์ค์ธ ์ฃผ๋ฌธ์ ์ทจ์ํฉ๋๋ค.
4 <- // 4๋ฅผ ์
๋ ฅ
// 4๋ฒ์ ๋๋ฅด๋ฉด ๋์ค๋ ๋ฉ๋ด์
๋๋ค.
์๋์ ๊ฐ์ด ์ฃผ๋ฌธ ํ์๊ฒ ์ต๋๊น?
[ Orders ]
SmokeShack | W 8.9 | ๋ฒ ์ด์ปจ, ์ฒด๋ฆฌ ํํผ์ ์์์ค๊ฐ ํ ํ๋ ์น์ฆ๋ฒ๊ฑฐ
[ Total ]
W 8.9
1. ์ฃผ๋ฌธ 2. ๋ฉ๋ดํ
1 <-
// 1๋ฒ์ ๋๋ฅด๋ฉด ๋์ค๋ ๋ฉ๋ด์
๋๋ค.
์ฃผ๋ฌธ์ด ์๋ฃ๋์์ต๋๋ค. ๊ธ์ก์ W 8.9 ์
๋๋ค.
- ์๊ตฌ์ฌํญ์ด ๊ฐ์ง๋ ์๋
- ์๋ : ๊ณ ๊ธ ์๋ฐ ๊ธฐ๋ฅ์ ํ์ฉํด ํ๋ก๊ทธ๋จ์ ํจ์จ์ฑ๊ณผ ์ฝ๋์ ๊ฐ๋ ์ฑ์ ๊ฐ์ ํ๋ ๊ฒ์ ๋ชฉํ๋ก ํฉ๋๋ค.
- ๋ชฉ์
- Enum์ ํตํด ์์๋ฅผ ์์ ํ๊ฒ ๊ด๋ฆฌํ๊ณ , ํ๋ก๊ทธ๋จ ๊ตฌ์กฐ๋ฅผ ๊ฐ๊ฒฐํ๊ฒ
- ์ ๋ค๋ฆญ์ ํ์ฉํ์ฌ ๋ฐ์ดํฐ ์ ์ฐ์ฑ์ ๋์ด๊ณ , ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ์ฝ๋๋ฅผ ์ค๊ณ
- ์คํธ๋ฆผ API๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ํํฐ๋งํ๊ณ , ๊ฐ๊ฒฐํ ์ฝ๋๋ก ๋์์ ๊ตฌํ
- Enum์ ํ์ฉํ ์ฌ์ฉ์ ์ ํ๋ณ ํ ์ธ์จ ๊ด๋ฆฌํ๊ธฐ
- ์ฌ์ฉ์ ์ ํ์ Enum ์ ์ ๋ฐ ๊ฐ ์ฌ์ฉ์ ์ ํ์ ๋ฐ๋ฅธ ํ ์ธ์จ ์ ์ฉ
- ์์ : ๊ตฐ์ธ, ํ์, ์ผ๋ฐ์ธ
- ์ฃผ๋ฌธ ์, ์ฌ์ฉ์ ์ ํ์ ๋ง๋ ํ ์ธ์จ ์ ์ฉํด ์ด ๊ธ์ก ๊ณ์ฐ
- ์ฌ์ฉ์ ์ ํ์ Enum ์ ์ ๋ฐ ๊ฐ ์ฌ์ฉ์ ์ ํ์ ๋ฐ๋ฅธ ํ ์ธ์จ ์ ์ฉ
- ๋๋ค & ์คํธ๋ฆผ์ ํ์ฉํ ์ฅ๋ฐ๊ตฌ๋ ์กฐํ ๊ธฐ๋ฅ
- ๊ธฐ์กด์ ์์ฑํ Menu์ MenuItem์ ์กฐํ ํ ๋ ์คํธ๋ฆผ์ ์ฌ์ฉํ์ฌ ์ถ๋ ฅํ๋๋ก ์์
- ๊ธฐ์กด ์ฅ๋ฐ๊ตฌ๋์์ ํน์ ๋ฉ๋ด ๋นผ๊ธฐ ๊ธฐ๋ฅ์ ํตํ ์คํธ๋ฆผ ํ์ฉ
- ์์ : ์ฅ๋ฐ๊ตฌ๋์ SmokeShack ๊ฐ ๋ค์ด ์๋ค๋ฉด, stream.filter๋ฅผ ํ์ฉํ์ฌ ํน์ ๋ฉ๋ด ์ด๋ฆ์ ๊ฐ์ง ๋ฉ๋ด ์ฅ๋ฐ๊ตฌ๋์์ ์ ๊ฑฐ
- ๊ตฌ์กฐ ์์
[ MAIN MENU ]
1. Burgers
2. Drinks
3. Desserts
0. ์ข
๋ฃ | ์ข
๋ฃ
1 <- // 1์ ์
๋ ฅ
[ BURGERS MENU ]
1. ShackBurger | W 6.9 | ํ ๋งํ , ์์์ถ, ์์์ค๊ฐ ํ ํ๋ ์น์ฆ๋ฒ๊ฑฐ
2. SmokeShack | W 8.9 | ๋ฒ ์ด์ปจ, ์ฒด๋ฆฌ ํํผ์ ์์์ค๊ฐ ํ ํ๋ ์น์ฆ๋ฒ๊ฑฐ
3. Cheeseburger | W 6.9 | ํฌํ
์ดํ ๋ฒ๊ณผ ๋นํํจํฐ, ์น์ฆ๊ฐ ํ ํ๋ ์น์ฆ๋ฒ๊ฑฐ
4. Hamburger | W 5.4 | ๋นํํจํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ผ์ฑ๊ฐ ๋ค์ด๊ฐ ๊ธฐ๋ณธ๋ฒ๊ฑฐ
0. ๋ค๋ก๊ฐ๊ธฐ
2 <- // 2๋ฅผ ์
๋ ฅ
์ ํํ ๋ฉ๋ด: SmokeShack | W 8.9 | ๋ฒ ์ด์ปจ, ์ฒด๋ฆฌ ํํผ์ ์์์ค๊ฐ ํ ํ๋ ์น์ฆ๋ฒ๊ฑฐ
// 2๋ฒ์ ๋๋ฅด๋ฉด ๋์ค๋ ๋ฉ๋ด์
๋๋ค.
"SmokeShack | W 8.9 | ๋ฒ ์ด์ปจ, ์ฒด๋ฆฌ ํํผ์ ์์์ค๊ฐ ํ ํ๋ ์น์ฆ๋ฒ๊ฑฐ"
์ ๋ฉ๋ด๋ฅผ ์ฅ๋ฐ๊ตฌ๋์ ์ถ๊ฐํ์๊ฒ ์ต๋๊น?
1. ํ์ธ 2. ์ทจ์
1 <-
// 1๋ฒ์ ๋๋ฅด๋ฉด ๋์ค๋ ๋ฉ๋ด์
๋๋ค.
SmokeShack ์ด ์ฅ๋ฐ๊ตฌ๋์ ์ถ๊ฐ๋์์ต๋๋ค.
// ์ฅ๋ฐ๊ตฌ๋์ ๋ฌผ๊ฑด์ด ๋ค์ด ์์ผ๋ฉด ์๋์ ๊ฐ์ด [ ORDER MENU ] ๊ฐ ์ถ๊ฐ๋ก ์ถ๋ ฅ๋ฉ๋๋ค.
// ๋ง์ฝ์ ์ฅ๋ฐ๊ตฌ๋์ ๋ฌผ๊ฑด์ด ๋ค์ด ์์ง ์๋ค๋ฉด [ ORDER MENU ] ๊ฐ ์ถ๋ ฅ๋์ง ์์ต๋๋ค.
// ๋ฏธ์ถ๋ ฅ์ผ ๋ 4,5 ๋ฒ์ ๋๋ฅด๋ฉด ์์ธ๋ฅผ ๋์ ์ค์ผ ํฉ๋๋ค.
์๋ ๋ฉ๋ดํ์ ๋ณด์๊ณ ๋ฉ๋ด๋ฅผ ๊ณจ๋ผ ์
๋ ฅํด์ฃผ์ธ์.
[ MAIN MENU ]
1. Burgers
2. Drinks
3. Desserts
0. ์ข
๋ฃ | ์ข
๋ฃ
[ ORDER MENU ]
4. Orders | ์ฅ๋ฐ๊ตฌ๋๋ฅผ ํ์ธ ํ ์ฃผ๋ฌธํฉ๋๋ค.
5. Cancel | ์งํ์ค์ธ ์ฃผ๋ฌธ์ ์ทจ์ํฉ๋๋ค.
4 <- // 4๋ฅผ ์
๋ ฅ
// 4๋ฒ์ ๋๋ฅด๋ฉด ๋์ค๋ ๋ฉ๋ด์
๋๋ค.
์๋์ ๊ฐ์ด ์ฃผ๋ฌธ ํ์๊ฒ ์ต๋๊น?
[ Orders ]
SmokeShack | W 8.9 | ๋ฒ ์ด์ปจ, ์ฒด๋ฆฌ ํํผ์ ์์์ค๊ฐ ํ ํ๋ ์น์ฆ๋ฒ๊ฑฐ
[ Total ]
W 8.9
1. ์ฃผ๋ฌธ 2. ๋ฉ๋ดํ
1 <-
// 1๋ฒ์ ๋๋ฅด๋ฉด ํ ์ธ ์ ๋ณด๋ฅผ ์ ๊ณตํด์ค๋๋ค.
ํ ์ธ ์ ๋ณด๋ฅผ ์
๋ ฅํด์ฃผ์ธ์.
1. ๊ตญ๊ฐ์ ๊ณต์ : 10%
2. ๊ตฐ์ธ : 5%
3. ํ์ : 3%
4. ์ผ๋ฐ : 0%
4 <-
// 4๋ฒ์ ๋๋ฅด๋ฉด ๋์ค๋ ๋ฉ๋ด์
๋๋ค.
์ฃผ๋ฌธ์ด ์๋ฃ๋์์ต๋๋ค. ๊ธ์ก์ W 8.9 ์
๋๋ค.
-
โ ํด๋์ค ์ค๋ช
-
1. Menu ํด๋์ค
-
๊ธฐ๋ฅ: ๋ฉ๋ด ์นดํ ๊ณ ๋ฆฌ์ ํด๋น ์นดํ ๊ณ ๋ฆฌ์ ๋ฉ๋ด ์์ดํ ์ ๊ด๋ฆฌ.
-
๋ฉ์๋:
-
addMenuItem(MenuItem item): ๋ฉ๋ด ์์ดํ ์ ์ถ๊ฐ.
-
displayMenuItems(): ๋ฉ๋ด ์์ดํ ์ ์ถ๋ ฅ.
-
-
-
2. MenuItem ํด๋์ค
-
๊ธฐ๋ฅ: ๋ฉ๋ด ์์ดํ ์ ์ด๋ฆ, ๊ฐ๊ฒฉ, ์ค๋ช ์ ์ ์ฅ.
-
๋ฉ์๋:
- getName(), getPrice(), getDescription(): ๊ฐ ์์ฑ์ ์ ๊ทผ.
-
-
3. ShoppingList ํด๋์ค
-
๊ธฐ๋ฅ: ์ฅ๋ฐ๊ตฌ๋์ ์ถ๊ฐ๋ ๋ฉ๋ด ์์ดํ ์ ์๋์ ๊ด๋ฆฌ.
-
๋ฉ์๋:
-
setCount(int count): ์๋์ ์ค์ .
-
getCount(): ์๋์ ๋ฐํ.
-
-
-
4. ShoppingCart ํด๋์ค
-
๊ธฐ๋ฅ: ์ฅ๋ฐ๊ตฌ๋์ ์ถ๊ฐ๋ ํญ๋ชฉ์ ๊ด๋ฆฌ.
-
๋ฉ์๋:
-
addShoppingList(ShoppingList list): ์ฅ๋ฐ๊ตฌ๋์ ํญ๋ชฉ์ ์ถ๊ฐ.
-
displayShoppingLists(): ์ฅ๋ฐ๊ตฌ๋์ ํญ๋ชฉ์ ์ถ๋ ฅ.
-
calculatorTotal(): ์ด ๊ธ์ก์ ๊ณ์ฐ.
-
clearShoppinglist(): ์ฅ๋ฐ๊ตฌ๋๋ฅผ ์ด๊ธฐํ.
-
-
-
5. Kiosk ํด๋์ค
-
๊ธฐ๋ฅ: ํค์ค์คํฌ ํ๋ก๊ทธ๋จ์ ๋ฉ์ธ ๋ก์ง์ ๋ด๋น.
-
๋ฉ์๋:
-
start(): ํ๋ก๊ทธ๋จ์ ์์ํ๊ณ ์ฌ์ฉ์์ ์ํธ์์ฉ.
-
๋ฉ๋ด ์ ํ, ์ฅ๋ฐ๊ตฌ๋ ์ถ๊ฐ, ์ฃผ๋ฌธ ๋ฐ ๊ฒฐ์ ๊ธฐ๋ฅ์ ์ ๊ณต.
-
-
-
6. Discount Enum
-
๊ธฐ๋ฅ: ์ฌ์ฉ์ ์ ํ์ ๋ฐ๋ฅธ ํ ์ธ์จ์ ์ ์.
-
๊ฐ: Veteran, Soldier, Student, Normal.
-
-
โ ์ฃผ์ ๊ธฐ๋ฅ
-
๋ฉ๋ด ๊ด๋ฆฌ: ์ฌ๋ฌ ์นดํ ๊ณ ๋ฆฌ์ ๋ฉ๋ด๋ฅผ ์ ๊ณตํฉ๋๋ค.
-
์ฅ๋ฐ๊ตฌ๋ ๊ด๋ฆฌ: ์ฌ์ฉ์๊ฐ ์ ํํ ๋ฉ๋ด๋ฅผ ์ฅ๋ฐ๊ตฌ๋์ ์ถ๊ฐํ๊ณ , ์๋์ ๊ด๋ฆฌํฉ๋๋ค.
-
ํ ์ธ ๋ฐ ๊ฒฐ์ : ์ฌ์ฉ์ ์ ํ์ ๋ฐ๋ฅธ ํ ์ธ์จ์ ์ ์ฉํ๊ณ , ๊ฒฐ์ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
-
์ทจ์ ๊ธฐ๋ฅ: ์ฅ๋ฐ๊ตฌ๋ ํญ๋ชฉ์ ์ทจ์ํ ์ ์์ต๋๋ค.
์ทจ์ํ ํญ๋ชฉ์์ ๋ฒํธ๊ฐ ์๋ค. ํ์ฌ
-
[ Cancel Menu ]
ShackBurger | W 6.9 | ์๋: 2
HamBurger | W 5.7 | ์๋: 1
์ทจ์ํ ํญ๋ชฉ์ ๋ฒํธ๋ฅผ ์
๋ ฅํ์ธ์ (0: ์ทจ์):
์ํ๋ ๋ณ๊ฒฝ
[ Cancel Menu ]
1. ShackBurger | W 6.9 | ์๋: 2
2. HamBurger | W 5.7 | ์๋: 1
์ทจ์ํ ํญ๋ชฉ์ ๋ฒํธ๋ฅผ ์
๋ ฅํ์ธ์ (0: ์ทจ์):
์ฒ๋ผ ์์ ๋ฒํธ๋ฅผ ๋ฌ์์ฃผ๊ณ ์ถ๋ค.