๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ˜‚ ํ”„๋กœ์ ํŠธ +

[Java ์„ธ๋ฏธ ํ”„๋กœ์ ํŠธ] "์ƒ๋Ÿฌ๋“œ(๋จน)์กฐ" | ์›ํ•˜๋Š” ๋Œ€๋กœ ๋งŒ๋“ค์–ด ๋จน๋Š” ์ƒ๋Ÿฌ๋“œ ํ‚ค์˜ค์Šคํฌ

by ์ข…์ด๋นจ๋Œ€ 2023. 10. 24.
TOP

๋ชฉ์ฐจ

    1. ์ตœ์ข… ์ฝ”๋“œ

    1.1. ๋ฒ„์ „

    1.1.1. [ ver1 ] 20231016(์›”) : ๋ฐœํ‘œ

    https://github.com/ohsukyoung/salad_jo_ver1
     

    1.1.2. [ํ˜„์žฌ์ตœ์ข…๋ฒ„์ „] [ ver2 ] 20231022(์ผ) : ํ”ผ๋“œ๋ฐฑ ์ˆ˜์ • ๋ฐ ๋ฆฌํŽ™ํ† ๋ง

     

    https://github.com/ohsukyoung/salad_jo_ver2

     

    GitHub - ohsukyoung/salad_jo_ver2

    Contribute to ohsukyoung/salad_jo_ver2 development by creating an account on GitHub.

    github.com

    1.2. ๋ฒ„์ „๋ณ„ ์ฝ”๋“œ ์•ˆ๋‚ด

    ๋ฒ„์ „ํ‘œ๊ธฐ ๋‚ ์งœ ๊ตฌ๋ถ„
    ver1 2023.10.16(์›”) ์ตœ์ดˆ์ƒ์„ฑ
    - NEW(์ตœ์ดˆ) ์›ํ•˜๋Š” ๋Œ€๋กœ ๋งŒ๋“ค์–ด ๋จน๋Š” ์ƒ๋Ÿฌ๋“œ ํ‚ค์˜ค์Šคํฌ
    ver2 2023.10.22(์ผ) ๊ด€๋ฆฌ์ž>์žฌ๊ณ ๊ด€๋ฆฌ ๊ธฐ๋Šฅ ์ œ๊ณต
    - FEATURE(๊ธฐ๋Šฅ) ๊ด€๋ฆฌ์ž > ์žฌ๊ณ ๊ด€๋ฆฌ
    ใ„ด ๊ธฐ์กด ๊ธฐํš ๋ฒ„์ „์„ ๋กค๋ฐฑํ•˜์—ฌ ๋Œ€๋ฉ”๋‰ด๋กœ ๊ธฐ๋Šฅ ์ œ๊ณต

    ๊ด€๋ฆฌ์ž>ํŒ๋งค๊ด€๋ฆฌ ์ƒ์„ธ์ˆ˜์ •์œผ๋กœ ๊ธฐ๋Šฅ๋ณ€๊ฒฝ ๋ฐ ํŒ๋งค๊ด€๋ฆฌ ์‚ฌ์šฉ์ž ์—ฐ๋™
    - CHANGED(๋ณ€๊ฒฝ) ๊ด€๋ฆฌ์ž > ํŒ๋งค๊ด€๋ฆฌ
    ใ„ด ๊ธฐ์กด ๊ธฐํš๊ณผ ์‹ฑํฌ๋ฅผ ๋งž์ถ”๊ธฐ ์œ„ํ•ด ํŒ๋งค๊ด€๋ฆฌ์˜ ๊ธฐ๋Šฅ์„ ์žฌ๊ณ ๊ด€๋ฆฌ, ์‚ฌ์žฅ์ถ”์ฒœ > ์ƒ์„ธ ์ˆ˜์ •์— ํฌํ•จ

    ๊ด€๋ฆฌ์ž ์žฌ๋ฃŒ์™€ ์‚ฌ์žฅ์ถ”์ฒœ ์—ฐ๋™
    - FIXED(์ˆ˜์ •) ๊ด€๋ฆฌ์ž> ์‚ฌ์žฅ์ถ”์ฒœ
    ใ„ด ์žฌ๋ฃŒ๋ฆฌ์ŠคํŠธ ์ˆ˜์ •์‹œ ์‚ฌ์žฅ์ถ”์ฒœ ๊ฐœ์ˆ˜ ์—ฐ๋™ ๋  ์ˆ˜ ์žˆ๋„๋ก ์ˆ˜์ •

    1.3. ๊ตฌํ˜„ ์˜์ƒ

    1.3.1. ๋ฒ„์ „1 ์˜์ƒ

     

    [๋ฒ„์ „1] ์ƒ๋Ÿฌ๋“œ๋จน์กฐ ์‹คํ–‰ ์˜์ƒ

    1.3.2. ๋ฒ„์ „2 ์˜์ƒ

    [๋ฒ„์ „2] ์ƒ๋Ÿฌ๋“œ๋จน์กฐ ์‹คํ–‰  ์˜์ƒ

     


     

     

    2. ํ”„๋กœ์ ํŠธ ๊ฐœ์š”

    2.1. ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ ๋ฐ ์ง„ํ–‰๊ณผ์ •

    1. ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ
      • ๊ธฐ๊ฐ„: 2023.09.25 ~ 2023.10.16
      • ์กฐ๊ฑด: Vending Machine / ์–ธ์–ด์‚ฌ์šฉ์€ Java๋งŒ์œผ๋กœ, DB ์‚ฌ์šฉX
      • ์ฃผ์ œ: ์ƒ๋Ÿฌ๋“œ ๋งค์žฅ ํ‚ค์˜ค์Šคํฌ
    2. ํ”„๋กœ์ ํŠธ ์ง„ํ–‰๊ณผ์ •
    NO Content Start
    (* End ์—†์„ ๊ฒฝ์šฐ
    ํ•˜๋ฃจ ์ง„ํ–‰)
    End
    1. ์‹œ์ž‘ - ์—ญํ• ๋ถ„๋ฐฐ 2023-09-25  
    2. ๊ธฐํš - ์ฃผ์ œ ์„ ์ •
    - ํ”Œ๋กœ์šฐ ์ฐจํŠธ ์„ค๊ณ„
    - ๊ธฐํš์•ˆ ์ž‘์„ฑ
    - ํŒŒํŠธ๋ถ„๋ฐฐ
    2023-09-25 10-02
    3. ๊ธฐ๋Šฅ ๊ตฌํ˜„ - ๊ฐ ํŒŒํŠธ ๊ตฌํ˜„ ํ›„ ํ”ผ๋“œ๋ฐฑ
    - ํ”ผ๋“œ๋ฐฑ ์ˆ˜์ •
    2023-10-04 10-09
    4. ๊ธฐ๋Šฅ ํ†ตํ•ฉ - ๊ธฐ๋Šฅ ํ†ตํ•ฉ ์ค‘ ๊ฐ ํŒŒํŠธ ๋ถ€์กฑํ•œ ๊ธฐ๋Šฅ ์ˆ˜์ •  2023-10-10 10-12
    5. ํ”„๋กœํ† ํƒ€์ž… - ๊ธฐ๋Šฅ ํ†ตํ•ฉ ์ค‘ ์˜ค๋ฅ˜ ์ถ”์ถœ ๋ฐ ํ•ด๊ฒฐ 2023-10-13  
    6. ๊ฒ€ํ†  & ์ˆ˜์ • - ์ฝ”๋“œ ์ตœ์ข… ์ˆ˜์ •
    - ์ตœ์ข…๋ณด๊ณ ์„œ ์ž‘์„ฑ
    - ppt ๋ฐœํ‘œ ์ค€๋น„
    2023-10-13 10-15
    7. ๋ฐœํ‘œ(ver1) - ๋ฐœํ‘œ & QnA & ํ”ผ๋“œ๋ฐฑ 2023-10-16  
    8. ๋ณด์™„(ver2) - ver1 ์ˆ˜์ • ๋ฐ ๋ณด์™„ 2023-10-19 10.22

     

    2.2. ํ”„๋กœ์ ํŠธ ๊ธฐํš

    1. ์ฃผ์ œ ์„ ์ • ์ด์œ 
      1. ๋ฐœ์ „ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์€ ๋ชจ๋ธ
        ใ„ด ์ฝ”๋กœ๋‚˜ ์ดํ›„๋กœ ํ˜ผ๋ฐฅ์ธ์›์ด ๋Š˜์—ˆ๊ณ , ์ƒ๋Ÿฌ๋“œ ์ฐพ๋Š” ์†Œ๋น„์ž๊ฐ€ ๋งŽ์•„์ง
      2. ์‹œ๋„ํ•˜๊ณ  ์‹ถ์€ ๊ธฐ๋Šฅ์„ ํฌ๊ด„ํ•  ์ˆ˜ ์žˆ๋Š” ์ฃผ์ œ(ex. ๋ฉ”๋‰ด์„ ํƒ, ๊ฒฐ์žฌ, ํšŒ์›/๋น„ํšŒ์› ๋“ฑ)
    2. ๋ชฉ์ 
      1. ์‚ฌ์šฉ์ž๊ฐ€ ์ฆ‰์‹œ ์นผ๋กœ๋ฆฌ๋ฅผ ํ™•์ธํ•˜๋ฉฐ ์ž์‹ ์ด ์›ํ•˜๋Š” ์ƒ๋Ÿฌ๋“œ๋ฅผ ์กฐํ•ฉํ•˜์—ฌ ๊ตฌ๋งค๊ฐ€ ๊ฐ€๋Šฅํ•˜๋„๋ก ํ•˜๊ณ  ์„ ํƒ์ด ์–ด๋ ค์šด ์‚ฌ์šฉ์ž์˜ ๊ฒฝ์šฐ ๊ด€๋ฆฌ์ž๊ฐ€ ์ถ”์ฒœํ•˜๋Š” ์กฐํ•ฉ์„ ์ด์šฉํ•˜๋Š” ํ‚ค์˜ค์Šคํฌ ๊ตฌํ˜„
      2. ๊ด€๋ฆฌ์ž๊ฐ€ ์žฌ๋ฃŒ๊ด€๋ฆฌ, ์ถ”์ฒœ์กฐํ•ฉ ๊ด€๋ฆฌ, ํšŒ์›๊ด€๋ฆฌ, ๋งค์ถœ๊ด€๋ฆฌ ๋ฅผ ํ†ตํ•ด ์ „๋ฐ˜์ ์ธ ํ†ต์ œ๊ฐ€ ๊ฐ€๋Šฅํ•œ ํ‚ค์˜ค์Šคํฌ ๊ตฌํ˜„

    2.3. ํ”„๋กœ์ ํŠธ ์„ค๊ณ„

    1. ๊ด€๋ฆฌ์ž ์›Œํฌํ”Œ๋กœ์šฐ ์ฐจํŠธ
      ๊ด€๋ฆฌ์ž ์›Œํฌํ”Œ๋กœ์šฐ
    2. ์‚ฌ์šฉ์ž ์›Œํฌํ”Œ๋กœ์šฐ ์ฐจํŠธ

    ์‚ฌ์šฉ์ž ์›Œํฌํ”Œ๋กœ์šฐ

     

    3. ๋‚˜์˜ ๊ตฌํ˜„

    3.1. ๋งก์€ ์—ญํ• 

    1. ๊ณ„ํš๋‹จ๊ณ„ ์—ญํ• : ์ผ์ •๊ด€๋ฆฌ
    2. ๊ฐœ๋ฐœ์ฃผ์š”ํŒŒํŠธ: ์‚ฌ์šฉ์ž ๋ชจ๋“œ์˜ ํฌ์žฅ์—ฌ๋ถ€(์‚ฌ์žฅ์ถ”์ฒœ, ๋‚˜๋งŒ์˜์ƒ๋Ÿฌ๋“œ, ์Œ๋ฃŒ, ์‚ฌ์ด๋“œ) ํŒŒํŠธ ๊ตฌํ˜„
      (ํŒ€์›1) (ํŒ€์›2) (ํŒ€์›3) ๋‚˜ (ํŒ€์žฅ) (ํŒ€์›4)
    ๊ณ„ํš ๋ณด๊ณ ์„œ ์ž‘์„ฑ ํšŒ์˜๋ก ์ž‘์„ฑ ๋ฐœํ‘œ ์ผ์ •๊ด€๋ฆฌ ๊ธฐํš์„œ ์ž‘์„ฑ
    ๊ฐœ๋ฐœ ๊ด€๋ฆฌ์ž>๋งค์ถœ๊ด€๋ฆฌ ๊ด€๋ฆฌ์ž>ํšŒ์›๊ด€๋ฆฌ ๊ด€๋ฆฌ์ž>์žฌ๊ณ ๊ด€๋ฆฌ ์‚ฌ์šฉ์ž>๋ฉ”๋‰ด์„ ํƒ ์‚ฌ์šฉ์ž>๊ฒฐ์ œ

    3.2. ๊ตฌํ˜„ํ•œ ๊ธฐ๋Šฅ

    1. [ ver1 ] (์‚ฌ์šฉ์ž) ๊ด€๋ฆฌ์ž ์ €์žฅ ๋ฆฌ์ŠคํŠธ ๊ฐ ์กฐ๊ฑด์— ๋งž๊ฒŒ ์ถœ๋ ฅ
    2. [ ver1 ] (์‚ฌ์šฉ์ž) ์‚ฌ์šฉ์ž ์„ ํƒ ๊ฐ’ ์ €์žฅํ•˜์—ฌ ๋ฆฌ์ŠคํŠธ๋กœ ์žฅ๋ฐ”๊ตฌ๋‹ˆ, ๋งค์ถœ ๊ด€๋ฆฌ์— ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์ „๋‹ฌ
    3. [ ver2 ] (๊ด€๋ฆฌ์ž) ํŒ๋งค๊ด€๋ฆฌ(์žฌ๊ณ ์…‹ํŒ…, ํ’ˆ์ ˆ๊ด€๋ฆฌ) ๊ธฐ๋Šฅ ๋กค๋ฐฑํ•˜์—ฌ ํ˜„์žฌ ๊ธฐ๋Šฅ์— ๋งž๊ฒŒ ์กฐ์ •
    4. [ ver2 ] (๊ด€๋ฆฌ์ž) ์‚ฌ์žฅ์ถ”์ฒœ๊ณผ ์žฌ๋ฃŒ์˜ ์ƒ๊ด€๊ด€๊ณ„๋ฅผ ๊ณ ๋ คํ•˜์—ฌ ์žฌ๋ฃŒ๋ฆฌ์ŠคํŠธ๋ฅผ ์ฐธ์กฐํ•จ์œผ๋กœ์จ ์žฌ๋ฃŒ์˜ ํ˜„ํ–‰ํ™”

    3.3. ๋งˆ์ฃผํ•œ ๋ฌธ์ œ ๋ฐ ๊ทน๋ณต๋ฐฉ๋ฒ•

    ๋งˆ์ฃผํ•œ ๋ฌธ์ œ ๊ทน๋ณต๋ฐฉ๋ฒ•
    1. ์žฌ๋ฃŒ ๋ฆฌ์ŠคํŠธ
    ์ €์žฅ ๊ตฌ์กฐ ์ƒ์ด
    - ์‚ฌ์šฉ์ž: ์นดํ…Œ๊ณ ๋ฆฌ์— ๋”ฐ๋ผ ์žฌ๋ฃŒ๋ฆฌ์ŠคํŠธ ์ถœ๋ ฅ
    (๋ฒ ์ด์Šค, ๋ฉ”์ธํ† ํ•‘, ์‚ฌ์ด๋“œ, ์Œ๋ฃŒ ๋“ฑ)
    - ๊ด€๋ฆฌ์ž: ํ•˜๋‚˜์˜ ๋ฆฌ์ŠคํŠธ๋กœ ๊ด€๋ฆฌ์˜ ํšจ์œจ ์ถ”๊ตฌ
    - ๊ณตํ†ต๋œ ํ•˜๋‚˜์˜ ์žฌ๋ฃŒ ๋ฆฌ์ŠคํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žฌ๋ฃŒ์˜ ์ €์žฅ์‹œ ์žฌ๋ฃŒ์˜ ํƒ€์ž…์„ enum์„ ํ™œ์šฉํ•ด ์ €์žฅํ•˜์—ฌ ์‚ฌ์šฉ์ž์—์„œ ๊ฐ ํƒ€์ž…์— ๋”ฐ๋ผ ์ถœ๋ ฅ
    2. ์žฌ๋ฃŒ ๊ด€๋ฆฌ ๊ตฌ์กฐ - ๋งŽ์€ ์žฌ๋ฃŒ์— ๊ทธ์— ๋Œ€ํ•œ ์ •๋ณด(ex. ๊ฐ€๊ฒฉ, ์นผ๋กœ๋ฆฌ, ์ˆ˜๋Ÿ‰ ๋“ฑ)๋ฅผ ์–ด๋–ป๊ฒŒ ์ €์žฅ ํ•  ๊ฒƒ์ธ์ง€ - ๋‹จ์ˆœํžˆ ๊ฐ’์„ ๋ฌถ๋Š” ๋ฐฐ์—ด๋ณด๋‹ค๋Š” ์žฌ๋ฃŒ์˜ ๋‹ค์–‘ํ•œ ์†์„ฑ์„ ๊ด€๋ฆฌํ•˜๊ธฐ์— ์šฉ์ด
    - ๋˜ํ•œ, ๋ฐฐ์—ด์€ ๊ณ ์ • ๋ฐ์ดํ„ฐ ํฌ๊ธฐ์ด๋‚˜ ๊ด€๋ฆฌ์ž๊ฐ€ ์žฌ๋ฃŒ๋ฅผ ๋™์ ์œผ๋กœ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋Š” ์ปฌ๋ž™์…˜ ์„ ํƒ
    3. ์ €์žฅ ๋ฆฌ์ŠคํŠธ ๊ณต์œ  - ์ €์žฅ๋œ ๋‚ด์šฉ์„ ๊ณต์œ ํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ• ๊ณ ๋ฏผ - new ์—ฐ์‚ฐ์ž๋ฅผ ํ†ตํ•ด ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ• ๋‹น๋ฐ›์ง€ ์•Š์•„๋„ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•˜๊ณ  ๊ณต์œ ๋  ์ˆ˜ ์žˆ๋Š” static์„ ์‚ฌ์šฉ
    4. ์ž…๋ ฅํ•œ ๋‚ด์šฉ ํ”„๋กœ๊ทธ๋žจ ์ข…๋ฃŒ์‹œ ์œ ์ง€๋˜์ง€ ์•Š์Œ - ํ”„๋กœ๊ทธ๋žจ ์ข…๋ฃŒ์‹œ ๊ธฐ์กด ์ €์žฅ๊ฐ’์ด ์‚ฌ๋ผ์ง - ๊ฐ์ฒด์ง๋ ฌํ™”, ์—ญ์ง๋ ฌํ™”๋ฅผ ์ด์šฉํ•ด DB์ฒ˜๋Ÿผ ์‚ฌ์šฉ
    5. ์ฝ”๋“œ์˜ ์ค‘๋ณต - ์‚ฌ์šฉ์ž์—๊ฒŒ ์žฌ๋ฃŒํƒ€์ž…์— ๋งž๋Š” ์žฌ๋ฃŒ๋ฅผ ์ถœ๋ ฅํ•˜๊ฑฐ๋‚˜, ์ž…๋ ฅ๋ฐ›๋Š” ์ฝ”๋“œ์˜ ์ค‘๋ณต - ๊ณตํ†ต๋œ ์š”์†Œ๋ฅผ ๋ฝ‘์•„ ๋งค๊ฐœ๋ณ€์ˆ˜(์žฌ๋ฃŒํƒ€์ž…)์— ๋”ฐ๋ผ ์ถœ๋ ฅ ๋  ์ˆ˜ ์žˆ๋„๋ก ์ฝ”๋“œ์˜ ํšจ์œจ์„ฑ์„ ๋†’์ž„
    6. ์žฅ๋ฐ”๊ตฌ๋‹ˆ์™€ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ณด์—ฌ์ง€๋Š” ์žฌ๋ฃŒ ๋ฆฌ์ŠคํŠธ ๊ฐœ์ˆ˜ ์—ฐ๋™ ๋ฌธ์ œ - ์‚ฌ์šฉ์ž๊ฐ€ ์žฌ๋ฃŒ๋ฅผ ์žฅ๋ฐ”๊ตฌ๋‹ˆ์— ๋‹ด์•˜์„ ๊ฒฝ์šฐ, ๋‹ด์€ ์žฌ๋ฃŒ๋ฅผ ์ œ์™ธํ•˜๊ณ  ์„ ํƒํ•  ์ˆ˜ ์žˆ์–ด์•ผํ•จ - ์žฌ๋ฃŒ๋ฆฌ์ŠคํŠธ ์ถœ๋ ฅ์ด ๋‹จ์ˆœํžˆ ์žฌ๋ฃŒ๋ฆฌ์ŠคํŠธ์˜ ๊ฐœ์ˆ˜๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๊ฒƒ์ด ์•„๋‹Œ, ์žฅ๋ฐ”๊ตฌ๋‹ˆ์™€ ์—ฐ๋™ํ•˜์—ฌ ๋‚จ์€ ๊ฐœ์ˆ˜๋ฅผ ๋…ธ์ถœํ•˜์—ฌ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋‚จ์€ ๊ฐœ์ˆ˜๋ฅผ ์ธ์‹ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•จ

    3.4. ์ฃผ์š” ๋ฌธ์ œ ๊ทน๋ณต ์‹ค์ œ ์ฝ”๋“œ

    3.4.1. ์žฌ๋ฃŒ๋ฆฌ์ŠคํŠธ ์ €์žฅ ๊ตฌ์กฐ ์ƒ์ด -> ํ•˜๋‚˜์˜ ์žฌ๋ฃŒ ๋ฆฌ์ŠคํŠธ ์‚ฌ์šฉ, ์žฌ๋ฃŒ ํƒ€์ž…์— ๋”ฐ๋ผ ์ถœ๋ ฅ

    3.4.1.1. @before ์ˆ˜์ •์ „

    	/* 1) ์นดํ…Œ๊ณ ๋ฆฌ๋ณ„ ์žฌ๋ฃŒ ๋ฆฌ์ŠคํŠธ ์ƒ์„ฑ =======================*/
        dep2_infoBase dep2InfoBa = new dep2_infoBase(); // 2dep-๋ฒ ์ด์Šค ๋“ฑ...
        dep2_infoMain dep2InfoMa = new dep2_infoMain();
        dep2_infoSide dep2InfoSi = new dep2_infoSide();
        dep2_infoSource dep2InfoSo = new dep2_infoSource();
        dep1_infoCeo dep1InfoCe = new dep1_infoCeo();	//์‚ฌ์žฅ์ถ”์ฒœ
        dep1_infoDrink dep1InfoDr = new dep1_infoDrink();// ์Œ๋ฃŒ
        
    (...์ค‘๋žต...)
        
        /* 2) ์‚ฌ์šฉ์ž ์•ˆ๋‚ดํŽ˜์ด์ง€ =======================*/
        public void menuDisp() {
            System.out.println("=============================");
            System.out.println("\t [[์ƒ๋Ÿฌ๋“œ๋จน์กฐ]]");
            System.out.println("\t 1. ์‚ฌ์žฅ์ถ”์ฒœ");
            System.out.println("\t 2. ๋‚˜๋งŒ์˜ ์ƒ๋Ÿฌ๋“œ");
            System.out.println("\t 3. ์Œ๋ฃŒ");
            System.out.println("\t 4. ์‚ฌ์ด๋“œ");
            System.out.println("=============================");
            userSelect = sMenu.menuSelect(4);
        }
        
    (...์ค‘๋žต...)
        
    	/* 3) ์นดํ…Œ๊ณ ๋ฆฌ๋ณ„ static ๋ณ€์ˆ˜ ์„ ์–ธ =======================*/
        static final int E_RCMND 	= 1;   	// ์‚ฌ์žฅ์ถ”์ฒœ
        static final int E_MY_SALAD = 2;   	// ๋‚˜๋งŒ์˜ ์ƒ๋Ÿฌ๋“œ
        static final int E_DRINK 	= 3;   	// ์Œ๋ฃŒ
        static final int E_SIDE 	= 4;   	// ์‚ฌ์ด๋“œ
        
        /* 4) ์‚ฌ์šฉ์ž ์„ ํƒ์— ๋”ฐ๋ผ ์ด๋™ =======================*/
        public void menuRun() {
            switch (userSelect) {
                case E_RCMND    : menuRcmd(); break;
                case E_MY_SALAD : menuMySalad(); break;
                case E_DRINK    : menuDrink(); break;
                case E_SIDE     : menuSide(); break;
                case E_CANCEL   : menuCancel(); break;
            }
        }
    
    (...์ค‘๋žต...)
    
    	/* 5) ์žฌ๋ฃŒ ๋ฆฌ์ŠคํŠธ ์ถœ๋ ฅ =======================*/
        public void menuMySalad() {
            System.out.println("\n2. ๋‚˜๋งŒ์˜ ์ƒ๋Ÿฌ๋“œ -------------------------------------- ");
            dep2InfoBa.menuInfo(mRInner);
            dep2InfoMa.menuInfo(mRInner);
            dep2InfoSi.menuInfo(mRInner);
            dep2InfoSo.menuInfo(mRInner);
        }

    3.4.1.2. @after ์ˆ˜์ •ํ›„

    	/* 1) ์žฌ๋ฃŒ ๋ฆฌ์ŠคํŠธ ์ƒ์„ฑ =======================*/
        public class CacheData {
            static List<Product> allProductList = new ArrayList<>(); // ์ œํ’ˆ ๋ฆฌ์ŠคํŠธ
        }
        
    (...์ค‘๋žต...)
    	
        /* 2) ์‚ฌ์šฉ์ž ์•ˆ๋‚ดํŽ˜์ด์ง€ =======================*/
    	public void menuDisp() {
            System.out.println("\n\t[ ์‚ฌ์šฉ์ž ๋ฉ”๋‰ด ์„ ํƒ ]===========");
            System.out.println("\t1. ์‚ฌ์žฅ์ถ”์ฒœ");
            System.out.println("\t2. ๋‚˜๋งŒ์˜ ์ƒ๋Ÿฌ๋“œ");
            System.out.println("\t3. ์Œ๋ฃŒ");
            System.out.println("\t4. ์‚ฌ์ด๋“œ");
            System.out.println("\t=============================");
        }
        
        /* 3) ์ œํ’ˆ๊ด€๋ จ ์ •๋ณด ์—ด๊ฑฐํ˜(Enum)์‚ฌ์šฉ =======================*/
        enum ProductType {
        //Enum ์‚ฌ์šฉ์ด์œ : ๊ฐ€๋…์„ฑ ๋ฐ ์œ ์ง€๋ณด์ˆ˜, ์•ˆ์ „์„ฑ(enum ํƒ€์ž…์˜ ๊ฐ’๋งŒ ํ—ˆ์šฉ), ์ฝ”๋“œ ์ค‘๋ณต ๋ฐฉ์ง€, ํŠน์ • ๊ฐ’ ์ง‘ํ•ฉ ํ‘œํ˜„
            RCMND(1, 1, "์‚ฌ์žฅ์ถ”์ฒœ"),		// index, depth, name
            MY_SALAD(2, 1, "๋‚˜๋งŒ์˜ ์ƒ๋Ÿฌ๋“œ"),
            DRINK(3, 1, "์Œ๋ฃŒ"),
            SIDE(4, 1, "์‚ฌ์ด๋“œ"),
    
            S_BASE(5, 2, "๋ฒ ์ด์Šค"),
            S_MAIN(6, 2, "๋ฉ”์ธํ† ํ•‘"),
            S_SIDE(7, 2, "์‚ฌ์ด๋“œํ† ํ•‘"),
            S_SOURCE(8, 2, "์†Œ์Šค"),
    	}
        
    (...์ค‘๋žต...)
        
        /* 4) ์‚ฌ์šฉ์ž ์„ ํƒ์— ๋”ฐ๋ผ ์ด๋™ =======================*/
        public void menuRun(int userSelect) {
            // userSelect๋ฅผ ProductType์œผ๋กœ ๋ณ€ํ™˜
            ProductTypeChange productTypeChange = new ProductTypeChange();
            ProductType productType = productTypeChange.ProductTypeChange(userSelect);
    
            switch (productType) { // DESC: swtich๋ฌธ์˜ ์กฐ๊ฑด์— String ํƒ€์ž…์„ ๋„ฃ๊ฒŒ๋˜๋ฉด, case๋ฌธ์—์„œ enumํƒ€์ž…์œผ๋กœ ๋น„๊ตํ•  ์ˆ˜ ๊ฐ€ ์—†์Œ
                case RCMND      : menuRcmd();    break;
                case MY_SALAD   : menuMySalad(); break;
                case DRINK      : menuDrink();   break;
                case SIDE       : menuSide();    break;
            }
        }
        
    (...์ค‘๋žต...)
    
    	/* 4) ํ”„๋กœ๋•ํŠธํƒ€์ž…์„ ๋„˜๊ฒจ์ค„์‹œ, ํ•ด๋‹นํ•˜๋Š” ์žฌ๋ฃŒ ๋ฆฌ์ŠคํŠธ ์ถœ๋ ฅ =======================*/
        public void menuMySalad() {
            System.out.println("\n\t[ 2. ๋‚˜๋งŒ์˜ ์ƒ๋Ÿฌ๋“œ ]");
            System.out.println("\t[ ๋ฒ ์ด์Šค โ–  โ–  โ–  โ–  ]");
            info.printInfo(ProductType.S_BASE);
            System.out.println("\t[ โ–  ๋ฉ”์ธํ† ํ•‘ โ–  โ–  โ–  ]");
            info.printInfo(ProductType.S_MAIN);
            System.out.println("\t[ โ–  โ–  ์‚ฌ์ด๋“œํ† ํ•‘ โ–  โ–  ]");
            info.printInfo(ProductType.S_SIDE);
            System.out.println("\t[ โ–  โ–  โ–  ์†Œ์Šค โ–  ]");
            info.printInfo(ProductType.S_SOURCE);
        }
        
    (...์ค‘๋žต...)
    	
        /* 5) ํ”„๋กœ๋•ํŠธํƒ€์ž…์— ๋”ฐ๋ผ ์žฌ๋ฃŒ๋ฆฌ์ŠคํŠธ์—์„œ ํ•ด๋‹นํ•˜๋Š” ์žฌ๋ฃŒ ๊ฐ€์ ธ์˜ด =======================*/
        interface PdInterface {
            List<Product> allProductList = CacheData.allProductList;
            List<Product> getList(ProductType productType);
        }
    
        // ์ž…๋ ฅ๋ฐ›์€ ProductType์„ ๊ธฐ์ค€์œผ๋กœ ๋ฆฌ์ŠคํŠธ ์ƒ์„ฑ
        class ProductService implements PdInterface {
            @Override
            public List<Product> getList(ProductType productType) {
                List<Product> result = new ArrayList<>();
    
                for (Product product : allProductList) {
                    if (product.getType().equals(productType)               // ํ•ด๋‹นํ•˜๋Š” productType
                            && product.getP_count()>product.getP_stock()    // ๊ฐœ์ˆ˜๊ฐ€ ์žฌ๊ณ ๋ณด๋‹ค ๋งŽ์„ ๋•Œ
                            && product.getSaleflag()                       // ํŒ๋งค์…‹ํŒ… true
                    ) {
                        result.add(product);
                    }
                }
    
                return result;
            }
    	}

     

    4.  ๊ฐœ์ธ์ ์ธ ํ›„๊ธฐ

    4.1. ๋ฐฐ์šด ์ 

    • ์ œํ•œ๋œ ์‹œ๊ฐ„ ๋‚ด์— ์ƒ์ƒํ•œ ๊ฒƒ์„ ๊ตฌ์ฒดํ™”ํ•˜๊ธฐ ์œ„ํ•ด ๋…ธ๋ ฅํ•˜๋Š” ๊ณผ์ •์—์„œ ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์„ ์‹œ๋„ํ•ด ๋ณผ ์ˆ˜์žˆ์—ˆ๋‹ค.
      • 1) ์ƒ์ƒํ•œ ๊ฒƒ์„ 'ํ”Œ๋กœ์šฐ ์ฐจํŠธ'๋ฅผ ๊ทธ๋ฆฌ๋ฉฐ ๋„์‹ํ™”ํ•˜์—ฌ ๊ตฌํ˜„ํ•ด์•ผ ํ•  ๊ธฐ๋Šฅ์„ ์„ธ๋ถ„ํ™”ํ•˜๊ณ 
      • 2) ์„ธ๋ถ„ํ™”ํ•œ ๊ธฐ๋Šฅ์„ '์ผ์ •๊ด€๋ฆฌ๋ฌธ์„œ'์— ๋ชฉ๋ก์œผ๋กœ ๋„์ถœํ•˜์—ฌ ๋ฐ๋“œ๋ผ์ธ์„ ์ง€ํ‚ฌ ์ˆ˜ ์žˆ๋„๋ก ๋…ธ๋ ฅํ•˜๊ณ 
      • 3) ๋งŽ์€ ํŒ€์›๋“ค๊ณผ ์ฝ”๋“œ๋กœ์จ ์†Œํ†ตํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ตฌํ˜„์—์„œ ์ฃผ๊ณ ๋ฐ›๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜ ๋ฐ ๊ณตํ†ต ์š”์†Œ๋ฅผ ๋ฌถ์–ด ๊ฐ„๋žตํ•œ 'ํด๋ž˜์Šค ๋‹ค์ด์–ด๊ทธ๋žจ'์„ ๋งŒ๋“ค์—ˆ๋‹ค.
          
      • 1-1) ํ”Œ๋กœ์šฐ ์ฐจํŠธ๋ฅผ ์„ธ๋ถ„ํ™”ํ•œ ๋•๋ถ„์— ์ž…์ถœ๋ ฅ์—์„œ ์ด๋ฃจ์–ด์ ธ์•ผํ•  ๋‚ด์šฉ์„ ๋ช…ํ™•ํžˆ ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.
      • 2-1) ์ผ์ •๊ด€๋ฆฌ๋ฌธ์„œ๋ฅผ ํ†ตํ•ด ๊ธฐ๋Šฅ๊ตฌํ˜„ ๊ณผ์ •์˜ ๋‹จ๊ณ„์™€ ๋ช‡ํผ์„ผํŠธ ์ง„ํ–‰๋˜์—ˆ์ง€๋Š” ์ „๋ฐ˜์ ์œผ๋กœ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.
      • 3-1) ํด๋ž˜์Šค ๋‹ค์ด์–ด๊ทธ๋žจ์œผ๋กœ ์ƒ์† ๋ฐ ๋‹ค๋ฅธ ํด๋ž˜์Šค์™€์˜ ๊ด€๊ณ„๋ฅผ ๋” ์‰ฝ๊ฒŒ ๊ทธ๋ ค๋ณผ ์ˆ˜ ์žˆ์—ˆ๋‹ค.
    • ํŒ€์ž‘์—…์—์„œ ์šฐ๋ฆฌ๋ผ๋ฆฌ์˜ ๊ทœ์น™์„ ๋งŒ๋“œ๋ ค๊ณ  ๋…ธ๋ ฅํ•œ ๋•๋ถ„์— ๋ณ€์ˆ˜๋ช… ๋ฐ ์ž๋ฃŒ๊ตฌ์กฐ๊ฐ€ ์ผ์ •๋ถ€๋ถ„ ํ†ต์ผ๋˜์—ˆ๋‹ค. ๋˜ํ•œ ์ƒ์ƒ ์ฝ”๋”ฉํ•˜๋˜ ๋‚ด์šฉ์ด ์‹ค์ œ๋กœ ๊ตฌํ˜„๋˜๋‹ค๋ณด๋‹ˆ ๋‚˜์˜ ์ƒ์ƒ์˜ ๋ฒ”์œ„๊ฐ€ ์–ด๋””๊นŒ์ง€ ๋งž์•˜๋Š”์ง€ ํ™•์ธํ•ด ๋ณผ ์ˆ˜ ์žˆ์–ด์„œ ์ข‹์•˜๋‹ค.

    4.2. ์•„์‰ฌ์šด ์ / ๋ฐœ์ „์‹œ์ผœ์•ผ ํ•  ์ 

    • ์‹ค์ œ ๊ตฌํ˜„์—์„œ๋Š” ์•ฝ์†ํ•˜์ง€ ๋ชปํ•œ ๋‹ค์–‘ํ•œ ์ž๋ฃŒ๊ตฌ์กฐ, ๋ณ€์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด์•ผํ•ด์„œ ์„ธ๋ถ€์ ์ธ ๊ทœ์น™๋ฅผ ์„ธ์„ธํ•˜๊ฒŒ ์งœ๊ธฐ๋ณด๋‹ค๋Š” ํฐ ํ‹€์—์„œ์˜ ๊ทœ์น™์„ ๋งŒ๋“ค์–ด์•ผํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค๊ณ  ๋А๊ผˆ๋‹ค.
      (ex. ๋ณ€์ˆ˜๋ช… ์ด๋ฆ„์„ ํ•˜๋‚˜ํ•˜๋‚˜ ์ •ํ•˜๊ธฐ๋ณด๋‹ค, ๋งŒ๋“ค์–ด์ง„ ๋ณ€์ˆ˜๋ฅผ ์ถ•์•ฝํ•˜์ง€ ์•Š๊ณ  ์„œ๋กœ ํ™•์ธ๊ฐ€๋Šฅํ•œ ๋‹จ์–ด๋“ค๋กœ ๋งŒ๋“ค๊ธฐ ๋“ฑ)
    • ์—ด์‹ฌํžˆ ์†Œํ†ตํ•˜๋ ค ๋…ธ๋ ฅํ–ˆ์ง€๋งŒ ๋” ์ ๊ทน์ ์ธ ์ž์„ธ๊ฐ€ ํ•„์š”ํ–ˆ๋‹ค. ๋‚ด ํŒŒํŠธ๊ฐ€ ๋งŒ๋“ค์–ด์กŒ๋‹ค๊ณ  ๋์ด ์•„๋‹ˆ๊ณ , ๊ด€๋ จ๋œ ํŒŒํŠธ์˜ ํŒ€์›์ด ์–ด๋–ป๊ฒŒ ๋งŒ๋“œ๋Š”์ง€, ๋ฌด์—‡์ด ๋ฌธ์ œ์ธ์ง€ ์ง€์†์ ์œผ๋กœ ๋งž์ถฐ๊ฐ€์•ผํ–ˆ๋‹ค๋Š” ๊ฒƒ์„ ๊นจ๋‹ฌ์•˜๋‹ค.

    4.3. ๋‹ค์Œ ํ”„๋กœ์ ํŠธ์—์„œ ๊ณ ๋ คํ•˜๋ฉด ์ข‹์„ ์ 

    • ๊นƒ ์‚ฌ์šฉ: ๊ฐœ์ธ์œผ๋กœ ์ž‘์—…ํ• ๋•Œ๋Š” ์ƒ๊ด€์—†์—ˆ์ง€๋งŒ, ๊ณ„์†์ ์œผ๋กœ ์„œ๋กœ์˜ ์ฝ”๋“œ๊ฐ€ ์ˆ˜์ •๋˜๋ฉด์„œ ๊ณ„์†์ ์œผ๋กœ ์„œ๋กœ์˜ ์ฝ”๋“œ๋ฅผ ์ €์žฅ๋ฐ›๊ณ , ์ˆ˜์ •๋‚ด์šฉ์„ ํ™•์ธํ•˜๊ณ  ํ†ตํ•ฉํ•˜๋Š” ๊ณผ์ •์—์„œ ์‹œ๊ฐ„์„ ๋งŽ์ด ์†Œ์š”ํ•˜์˜€๋‹ค. ๊นƒ์„ ํ†ตํ•ด ํ˜•์ƒ๊ด€๋ฆฌ ๋ฟ ์•„๋‹ˆ๋ผ, ํ†ตํ•ฉ๋„ ํŽธํ•˜๊ฒŒ ํ•œ๋‹ค๋ฉด ์‹ค ์ฝ”๋“œ๋ฅผ ๋” ๋งŽ์ด ํ…Œ์ŠคํŠธํ•  ์‹œ๊ฐ„์ด ๋Š˜์–ด๋‚  ๊ฒƒ์ด๋ผ ์ƒ๊ฐํ•œ๋‹ค.  

    ๊ฐœ์ธ ์ž‘์—…๋ฌผ์„ ํ•ฉ์น˜๊ธฐ์œ„ํ•ด ๋งŽ์€ ํด๋”๋ฅผ ์ƒ์„ฑํ•ด์•ผ ํ–ˆ์Œ๋ฐ”๋€ ๋ถ€๋ถ„์„ ์ง€์†์ ์œผ๋กœ ๋น„๊ตํ–ˆ๋˜ ์žฅ๋ฉด
    ํ˜•์ƒ๊ด€๋ฆฌํˆด์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•„, ๋ชจ๋‘์˜ ์ฝ”๋“œ๋ฅผ ์ง€์†์ ์œผ๋กœ ๋‹ค์šด๋กœ๋“œ ๋ฐ›์•„ ๋น„๊ตํ–ˆ๋‹ค. -> ๊นƒ์‚ฌ์šฉ์˜ ํ•„์š”์„ฑ์„ ํฌ๊ฒŒ!! ๋А๋‚Œ

     

    • ํ”Œ๋กœ์šฐ์ฐจํŠธ: ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ช…ํ™•ํ•˜๊ณ  ์‹œ๊ฐ์ ์œผ๋กœ ๋ณด์ผ ์ˆ˜ ์žˆ๊ฒŒ ์ž‘์„ฑํ•ด์•ผํ•œ๋‹ค๊ณ  ๋А๊ผˆ๋‹ค.

    4.4. ํ”„๋กœ์ ํŠธ๋ฅผ ๋งˆ์น˜๋ฉฐ...

    ๋”๋ณด๊ธฐ

    ๋“œ๋””์–ด! ํ”„๋กœ์ ํŠธ๊ฐ€ ๋งˆ๋ฌด๋ฆฌ๋˜์—ˆ๋‹ค. (์ผ์–ด๋‚˜์„œ ๋ฐ•์ˆ˜์น˜๋Š” ์ค‘ใ… )

     ๋ถ„๋ช…ํ•œ ๊ฑด, 'ํ•จ๊ป˜ ์—ฌ์„œ ๋ฉ€๋ฆฌ ๊ฐˆ ์ˆ˜ ์žˆ์—ˆ๋‹ค'๋ผ๋Š” ์‚ฌ์‹ค์ด๋‹ค. ์ƒˆ๋ฒฝ๊นŒ์ง€ ์ฝ”๋“œ์งœ๊ณ  ๊ฐ•์˜์‹ค์— ๋“ค์–ด๊ฐ€์„œ ๋‹ค์‹œ ํŒ€ํšŒ์˜๋ฅผ ํ–ˆ๋˜ ๋ฌด์ˆ˜ํ•œ ๋‚˜๋‚ ๋“ค.. ์ฒ˜์Œ์—๋Š” ํ˜ผ์ž ๋นจ๋ฆฌ ์ง„๋„๋ฅผ ๋‚˜๊ฐ€๊ธฐ ์œ„ํ•ด ์„œ๋‘˜๋ €๋‹ค. ๊ทธ ๊ณผ์ •์—์„œ ์ผ๋ถ€ ์„ธ์„ธํ•œ ๊ณผ์ •์„ ์ฑ™๊ธฐ์ง€ ๋ชปํ–ˆ๊ณ , ๋˜ ๋„ˆ๋ฌด ํ”ผ๊ณคํ•˜๊ธฐ์— ์ƒ๋Œ€์ ์œผ๋กœ ๋œ ์ค‘์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐ๋˜๋Š” ๋ถ€๋ถ„์€ ๋„˜๊ธฐ๊ณ  ์‹ถ์—ˆ๋‹ค.(์ ํ•ฉํ•œ ๋ฆฌ์ŠคํŠธ์— ๋Œ€ํ•œ ๊ณ ๋ฏผ, '์™œ'์— ๋Œ€ํ•œ ๊ณ ๋ฏผ ๋“ฑ)

     ๊ทธ๋Ÿฌ๋‚˜ ํ”„๋กœ์ ํŠธ์˜ ํšŒ์˜๋ฅผ ํ†ตํ•ด์„œ '๋‹จ์ˆœํ•œ ๊ธฐ๋Šฅ ๊ตฌํ˜„' ๋ณด๋‹ค๋Š”, '์™œ ์ด๋ ‡๊ฒŒ ์ฝ”๋“œ๋ฅผ ๊ตฌํ˜„ํ•˜๊ฒŒ ๋˜์—ˆ๋Š”์ง€'๊ฐ€ ๋” ์ค‘์š”ํ•˜๋‹ค๋Š” ์‚ฌ์‹ค์„ ๊นจ๋‹ฌ์•˜๋‹ค. ์™œ๋ƒํ•˜๋ฉด ํŒ€ ํ”„๋กœ์ ํŠธ๋ผ๋Š” ๊ฒƒ์€ ์šฐ๋ฆฌ ๋ชจ๋‘๊ฐ€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์ด๊ณ , ๋‚ด๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ์ด์™€ ๊ฐ™์€ ๊ฒฐ๋ก ์— ๋„๋‹ฌํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์™œ ์ด๋ ‡๊ฒŒ ์ฝ”๋“œ๋ฅผ ๊ตฌํ˜„ํ–ˆ๋Š”์ง€ ๋‚ฉ๋“ ํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค๋ช…ํ•ด์•ผํ–ˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๋‹ค๋ฅธ ์‚ฌ๋žŒ์„ ์„ค๋“์‹œํ‚ค๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋” ๋งŽ์ด ์กฐ์‚ฌํ•˜๊ณ  ๊ณต๋ถ€ํ•ด์•ผํ–ˆ๊ณ , ์ž๋ฐ” ์„ธ๋ฏธํ”„๋กœ์ ํŠธ๊ธฐ๊ฐ„์— ์—ฌ๋Ÿฌ๋ฒˆ JAVA๋ฅผ  ๋ณต์Šตํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ์ •๋ง ํž˜๋“ค์—ˆ์ง€๋งŒ, ์ข‹์€ ์ฝ”๋“œ๋ž€ ๋ฌด์—‡์ผ์ง€ ์Šค์Šค๋กœ์—๊ฒŒ ๋ฌป๊ณ  ๊ณต๋ถ€ํ•˜๊ณ  ์งˆ๋ฌธํ–ˆ๋˜ ์‹œ๊ฐ„์ด ์•ž์œผ๋กœ ๋‚˜๋ฅผ ์ง€ํƒฑํ•  ๋ฐ‘๊ฑฐ๋ฆ„์ด ๋ ๊ฑฐ๋ผ๋Š” ๋ถ„๋ช…ํ•œ ํ™•์‹ ์ด๋“ค์–ด ๊ธฐ์˜๋‹ค. ์ง€๊ธˆ์€ ์ตœ์„ ์˜ ์„ ํƒ์ด์—ˆ์ง€๋งŒ, ๊ณต๋ถ€ํ•˜๋‹ค ๋ณด๋ฉด ๋” ์ข‹์€ ์ฝ”๋“œ๋ฅผ ๋งŒ๋“ค์ˆ˜ ์žˆ๊ฒ ์ง€? ์•ž์œผ๋กœ์˜ ๋ฐฐ์›€์ด ๋” ๊ธฐ๋Œ€๋œ๋‹ค!

     

     

    5. ๊ธฐํƒ€

    5.1. ์ฐธ๊ณ ์ž๋ฃŒ