Skip to content

Latest commit

ย 

History

History
114 lines (69 loc) ยท 3.96 KB

File metadata and controls

114 lines (69 loc) ยท 3.96 KB

ํ‚ค์˜ค์Šคํฌ ๋งŒ๋“ค๊ธฐ ํ”„๋กœ์ ํŠธ [Spring] 5๊ธฐ ์ฑ•ํ„ฐ2 ๊ณผ์ œ

ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ

  • ๊ธฐ์ดˆ์ ์ธ ํ๋ฆ„ ์ œ์–ด ๋ฐ ๊ฐ์ฒด ์ง€ํ–ฅ ์„ค๊ณ„ ๊ฐœ๋…์„ ๋ณต์Šตํ•˜๊ณ  ์—ฐ์Šตํ•˜๋Š” ์ฐจ์›์—์„œ ํ‚ค์˜ค์Šคํฌ๋ฅผ ๋งŒ๋“ค์–ด๋ณด์ž

ํ”„๋กœ์ ํŠธ ์ทจ์ง€

โ†’ ํด๋ž˜์Šค์˜ ๊ฐœ๋…์„ ์ดํ•ดํ•˜๊ณ , ๊ฐ์ฒด ์ง€ํ–ฅ ์„ค๊ณ„๋ฅผ ํ™œ์šฉํ•ด๋ณด์ž (์ž๋ฐ” ๋ฌธ๋ฒ•์˜ ์‹ค์Šต๊ณผ ๊ฐ์ฒด ์ง€ํ–ฅ ๊ฐœ๋…์˜ ์ ์šฉ)

๊ธฐ๋Šฅ ๊ฐ€์ด๋“œ

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 ๋งŒ๋“ค๊ธฐ' ๊ณผ์ œ๋Š” ์ง€๋‚œ๋ฒˆ '๊ณ„์‚ฐ๊ธฐ ๋งŒ๋“ค๊ธฐ' ๊ณผ์ œ๋ณด๋‹ค๋Š” ์ˆœํƒ„ํ•˜๊ฒŒ ์ง„ํ–‰์ด ๋˜์—ˆ๋‹ค.

ํ•˜์ง€๋งŒ ์ค‘๊ฐ„์ค‘๊ฐ„ ๋ฌธ๋ฒ•์„ ์ž˜๋ชป ์ž‘์„ฑํ•˜์—ฌ ๊ผฌ์ธ ์ฝ”๋“œ๋ฅผ ์ฐพ์•„๋‚ด๋Š”๋ฐ ํ•œ์„ธ์›”์„ ์†Œ๋น„ํ•˜๋Š” ์ž์‹ ์„ ๋ณผ๋•Œ๋Š” ์•„์ง

๊ธฐ๋ณธ์ด ๋งŽ์ด ๋ถ€์กฑํ•˜๋‹ค๋Š”์ ์„ ๋А๋‚€๋‹ค. ๋‹ค์Œ ๊ณผ์ œ ์ „๊นŒ์ง€ ๊พธ์ค€ํžˆ ๊ธฐ๋ณธ๊ธฐ๋ฅผ ํƒ„ํƒ„ํžˆ ์Œ“์•„

์ดˆ๋ณด์ ์ธ ์‹ค์ˆ˜๋ฅผ ์ค„์ด๋Š”๋ฐ ์ค‘์ ์„ ๋‘๋„๋ก ํ•ด๋ณด์ž.