๐Ÿ’ก ์ƒˆ๋กญ๊ฒŒ ์•Œ๊ฒŒ ๋œ ์  & ๋А๋‚€ ์ 

1. MVC ํŒจํ„ด

1์ฃผ์ฐจ๋•Œ๋Š”, ํ•œ ํด๋ž˜์Šค ๋‚ด์—์„œ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ„๋‹จํ•œ ๊ตฌํ˜„์„ ์—ฌ๋Ÿฌ ํด๋ž˜์Šค์™€ ๋ฉ”์†Œ๋“œ๋กœ ์ชผ๊ฐœ์–ด ํ•ด์•ผ ํ•˜๋Š”์ง€ ๊ทธ ์ •ํ™•ํ•œ ์ด์œ ๋ฅผ ์•Œ์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡๊ธฐ์— ์ด ๋•Œ๋Š” ํด๋ž˜์Šค๋ฅผ ๋งŽ์ด ๋‚˜๋ˆ„์ง€ ์•Š๊ณ  ์ œ๊ฐ€ ํ•ด์˜ค๋˜ ๋ฐฉ์‹๊ณผ ๊ฐ€๊น๊ฒŒ ๊ตฌํ˜„์„ ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด๋ฒˆ 2์ฃผ์ฐจ๋ฅผ ์‹œ์ž‘ํ•˜๋ฉด์„œ, ์ €๋ฒˆ์ฃผ์™€๋Š” ๋‹ค๋ฅด๊ฒŒ MVC ํŒจํ„ด์— ํ•œ ๋ฒˆ ๋„์ „ํ•ด๋ณด์•„์•ผ๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ์™œ๋ƒํ•˜๋ฉด 1์ฃผ์ฐจ์—์„œ๋„ ํด๋ž˜์Šค์™€ ๋ฉ”์†Œ๋“œ๋ฅผ ๋‚˜๋ˆ„๋Š” ๊ณผ์ •์—์„œ, ์กฐ๊ธˆ ํ˜ผ์žกํ•˜๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๊ณ  ๋งŒ์•ฝ ๋”์šฑ ํฐ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•ด์•ผํ•  ๋•Œ๋Š” ๊ทธ ๋ฌธ์ œ์ ์ด ๋” ์ปค์งˆ ๊ฒƒ ๊ฐ™์•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

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

๊ทธ๋ฆฌ๊ณ  ๊ทธ ์˜๋ฌธ์ ์€ ์šฐํ…Œ์ฝ” ์ฑ„๋„์— ์žˆ๋Š” 10๋ถ„ ํ…Œ์ฝ”ํ†ก์˜ ์˜์ƒ์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. (๋งํฌ: https://youtu.be/Yzx-z6kCD2A?si=gT0HWgC5SMr9O_uW)

ํ•ด๋‹น ์˜์ƒ์—์„œ๋Š” MVC ํŒจํ„ด์— ๋Œ€ํ•œ ์„ค๋ช…์€ ์˜ค๋ž˜ ํ•˜์ง€ ์•Š๊ณ , ๋“ฃ๋Š” ์ด์—๊ฒŒ ์งˆ๋ฌธ์„ ๊ฑด๋„ค๋ฉฐ ์Šค์Šค๋กœ ์ƒ๊ฐํ•˜๊ฒŒ๋” ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ทธ ๋์—์„œ ๋‚˜์˜จ ๊ฒฐ๋ก ์€, MVC ํŒจํ„ด์— ์ •๋‹ต์€ ์—†๋‹ค๋Š” ๊ฒƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฌผ๋ก  ๋””์ž์ธ ํŒจํ„ด์ด๊ธฐ์— ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ์‚ฌ์šฉํ•˜๋Š” ํ˜•ํƒœ๋Š” ์žˆ๊ฒ ์ง€๋งŒ, ๊ทธ๋Ÿฐ ๊ฒƒ๋“ค์„ ์ซ“๊ธฐ ๋ณด๋‹ค๋Š” ๊ทธ ๋ณธ์งˆ์„ ์ซ“๋Š” ๊ฒƒ์ด ์˜ณ๋‹ค๋Š” ๋œป์ด์—ˆ์Šต๋‹ˆ๋‹ค.

MVC ํŒจํ„ด์˜ ๋ณธ์งˆ์„ ๊ฐ„๋‹จํžˆ ๋งํ•˜๋ฉด ๋ชจ๋ธ๊ณผ ๋ทฐ๋ฅผ ๋ถ„๋ฆฌํ•˜์—ฌ, ์œ ์ง€๋ณด์ˆ˜๋ฅผ ์šฉ์ดํ•˜๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•จ์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฅผ ๋ชจ๋ธ์—์„œ ๊ด€๋ฆฌํ•˜๊ณ , ๋ทฐ์—์„œ๋Š” ๊ทธ ๋ฐ์ดํ„ฐ๋ฅผ ์ปจํŠธ๋กค๋Ÿฌ๋กœ๋ถ€ํ„ฐ ๋ฐ›์•„ ์œ ์ €์˜ ์š”์ฒญ๋Œ€๋กœ ๋ณด์—ฌ์ฃผ๋ฉด์„œ, ์„œ๋กœ์—๊ฒŒ ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š์œผ๋ฉฐ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‚˜๋ฆ„ ๋งŽ์€ ๊ธ€๊ณผ ์˜์ƒ์„ ์ฐพ์•„๋ณด๋ฉฐ ๊ฐ์„ ์žก์€ ์ €์˜€์ง€๋งŒ, ์‹ค์ œ๋กœ ์ €์˜ ์ฝ”๋“œ์— ์ ์šฉํ•˜๋ ค๋‹ˆ ์ฐธ ๊ณ ๋ฏผ์ด ๋งŽ์•„์กŒ์Šต๋‹ˆ๋‹ค. ๋Œ€ํ‘œ์ ์ธ ๊ณ ๋ฏผ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์•˜์Šต๋‹ˆ๋‹ค.

  1. domain๊ณผ service ํŒจํ‚ค์ง€๋„ ๋งŒ๋“ค์–ด์•ผ ํ•˜๋Š”๊ฐ€? โ‡’ ์ฒซ ๋„์ž…์ด๊ธฐ์— model, view, controller๋งŒ์œผ๋กœ ๊ตฌ์„ฑํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

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

  3. model์—์„œ๋Š” ๊ทธ์ € ๋ฐ์ดํ„ฐ๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ  ๋ณ€๊ฒฝํ•˜๊ธฐ๋งŒ ํ•˜๋Š” ๊ฒƒ์ธ๊ฐ€? โ‡’ ๋ชจ๋ธ ํŒจํ‚ค์ง€์—๋Š” ์ปจํŠธ๋กค๋Ÿฌ์™€ ๋ทฐ์˜ ์ฝ”๋“œ๊ฐ€ ๋“ค์–ด๊ฐ€์ง€ ์•Š๋„๋ก ํ•˜๋Š” ๊ฒƒ์ด ์›์น™์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ๋ชจ๋ธ์€ ๋ฐ์ดํ„ฐ๋ฅผ ์ž˜ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ์ค‘์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•˜์—ฌ ๋Œ€๋ถ€๋ถ„์˜ ๋กœ์ง์€ ์ปจํŠธ๋กค๋Ÿฌ์—์„œ ์‹คํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค.

2. ๊ฐ์ฒด์ง€ํ–ฅ์˜ ์‚ฌ์‹ค๊ณผ ์˜คํ•ด

1์ฃผ์ฐจ์— ๋งŽ์€ ๋ถ„๋“ค์˜ ๊ธ€๋“ค์„ ๋ณด๋˜ ์ค‘, ๊ฐ์ฒด์ง€ํ–ฅ์˜ ์‚ฌ์‹ค๊ณผ ์˜คํ•ด๋ผ๋Š” ์ฑ…์ด ๋งŽ์ด ์–ธ๊ธ‰๋จ์„ ์•Œ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ฒ˜์Œ์—๋Š” ๋ณ„ ๊ด€์‹ฌ์ด ์—†์—ˆ์œผ๋‚˜, ์›๋ž˜ ์•Œ๋˜ ์‚ฌ์‹ค์„ ๋งŽ์ด ๊นจ๋ถ€์ˆ˜์–ด์ฃผ๋Š” ์ข‹์€ ์ฑ…์ด๋ผ๋Š” ๋ฆฌ๋ทฐ๋ฅผ ๋ณด๊ณ  ์กฐ๊ธˆ ๊ด€์‹ฌ์ด ์ƒ๊ฒผ์Šต๋‹ˆ๋‹ค.

2์ฃผ์ฐจ๋ถ€ํ„ฐ ์Šคํ„ฐ๋””๋“ค์ด ์—ด๋ฆฌ๊ฒŒ ๋˜์—ˆ๋Š”๋ฐ, ๋งˆ์นจ ํ•ด๋‹น ์ฑ…์„ ์ฝ๊ณ  ๋ฏธ์…˜์— ์ ์šฉํ•ด๋ณด๊ณ  ์„œ๋กœ ์ฝ”๋“œ ๋ฆฌ๋ทฐ๋ฅผ ์ง„ํ–‰ํ•˜๋Š” ์Šคํ„ฐ๋”” ๋˜ํ•œ ์—ด๋ ค ๋“ค์–ด๊ฐ€๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ด๋ฒˆ ์ฃผ์ฐจ์—๋Š” 1,2,3 ์ฑ•ํ„ฐ๋งŒ์„ ์ฝ์—ˆ๋Š”๋ฐ, ์šฐ์„ ์€ ์ •๋ง ํฅ๋ฏธ๋กœ์› ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ฑ…์€ ๋ณดํ†ต ์ง€๋ฃจํ•˜๊ธฐ ๋งˆ๋ จ์ธ๋ฐ, ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์šด ์ด์ƒํ•œ ๋‚˜๋ผ์˜ ์•จ๋ฆฌ์Šค ์ด์•ผ๊ธฐ๋ฅผ ์˜ˆ์‹œ๋กœ ๋“ค๋ฉฐ ์„ค๋ช…ํ•ด์ฃผ์–ด ์ข‹์•˜์Šต๋‹ˆ๋‹ค.

๊ฐ€์žฅ ์™€๋‹ฟ์•˜๋˜ ๋ถ€๋ถ„์€ ์‚ฌ์‹ค ๊ฐ์ฒด์ง€ํ–ฅ์€ ์‹ค์„ธ๊ณ„๋ฅผ ๋ชจ๋ฐฉํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ์‹ค์„ธ๊ณ„๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ์ƒˆ๋กœ์šด ์„ธ๊ณ„๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด๋ผ๋Š” ๊ตฌ์ ˆ์ด์—ˆ์Šต๋‹ˆ๋‹ค.

๋Œ€๋ถ€๋ถ„์˜ ๋„์„œ์—์„œ ๊ฐ์ฒด์— ๋Œ€ํ•ด ์„ค๋ช…์„ ํ•  ๋•Œ์—๋Š” ์‹ค์„ธ๊ณ„์˜ ์‚ฌ๋ฌผ ํ˜น์€ ๊ฐœ๋…์„ ๋ชจ๋ฐฉํ•˜์—ฌ ์†Œํ”„ํŠธ์›จ์–ด ์„ธ๊ณ„๋กœ ๊ฐ€์ ธ์˜จ๋‹ค๊ณ  ๋งํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด๋Š” ๊ฐ€์žฅ ํŽธ๋ฆฌํ•˜๊ฒŒ ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ผ๋ฟ์ด๋ผ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ๊ฒƒ์ด๊ณ , ๊ทธ๋กœ ์ธํ•ด ๊ฐ์ฒด์ง€ํ–ฅ์— ๋Œ€ํ•œ ์˜คํ•ด๊ฐ€ ์ƒ๊ฒจ๋‚˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์‹ค์ œ๋กœ ์‹ค์„ธ๊ณ„๋ฅผ ๋ชจ๋ฐฉํ•ด์„œ ์†Œํ”„ํŠธ์›จ์–ด ์„ธ๊ณ„๋ฅผ ๋งŒ๋“ ๋‹ค๋ฉด ์ƒ๋‹นํžˆ ๋ถˆํŽธํ•œ ์ ๋“ค์ด ๋งŽ์ด ์ƒ๊ฒจ๋‚ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์‹ค์„ธ๊ณ„์—์„œ ์ž๋™์ฐจ๋ฅผ ์›€์ง์ด๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š”, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ณผ์ •์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

  • ์ฐจ ์ฃผ์ธ์ด ์ž๋™์ฐจ ํ‚ค๋ฅผ ๊ฐ–๊ณ  ํ˜„๊ด€๋ฌธ์„ ๋‚˜์„ ๋‹ค.
  • ์ž๋™์ฐจ์— ํƒ‘์Šนํ•ด ํ‚ค๋กœ ์‹œ๋™์„ ๊ฑด๋‹ค.
  • ์—‘์…€์„ ๋ฐŸ์•„ ์ฐจ๋ฅผ ์›€์ง์ธ๋‹ค.

ํ•˜์ง€๋งŒ ์‹ค์ œ ์†Œํ”„ํŠธ์›จ์–ด ์„ธ๊ณ„์—์„œ ์ด๋ ‡๊ฒŒ ๊ตฌํ˜„ํ•˜์ง€๋Š” ์•Š๊ณ , ์ฐจ car๊ฐ€ ์›€์ง์ธ๋‹ค move ์ด๋Ÿฐ์‹์œผ๋กœ ํ•˜๋‚˜์˜ ๋ฉ”์†Œ๋“œ๋กœ ๊ตฌํ˜„ํ•˜๊ณค ํ•ฉ๋‹ˆ๋‹ค.

์ฆ‰, ์‚ฌ๋ฌผ์„ ์˜์ธํ™”ํ•˜์—ฌ ๋”์šฑ ์ง๊ด€์ ์ด๊ณ  ํšจ์œจ์ ์œผ๋กœ ์ฝ”๋“œ๋ฅผ ์งœ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ด์™€ ๊ฐ™์ด ๊ธฐ์กด์— ์•Œ๋˜ ์ €์˜ ์ƒ๊ฐ์„ ๋งŽ์ด ๋ฐ”๊พธ์–ด์ฃผ๋Š” ์ฑ…์ด๊ธฐ์— ์žฌ๋ฏธ์žˆ๊ฒŒ ์ฝ์—ˆ๊ณ , ํ”„๋ฆฌ์ฝ”์Šค๊ฐ€ ๋๋‚˜๋Š” ๊ธฐ๊ฐ„๊นŒ์ง€ ์ฝ์œผ๋ฉฐ ๊ณฑ์”น์„ ์ƒ๊ฐ์ž…๋‹ˆ๋‹ค.

3. ํ…Œ์ŠคํŠธ ์ฝ”๋“œ

์ด๋ฒˆ 2์ฃผ์ฐจ์—์„œ ๊ฐ€์žฅ ํฐ ์ˆ˜ํ™•์€ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ์˜€๋˜ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

1์ฃผ์ฐจ์—์„œ๋Š” ํ•˜๋‚˜์˜ ๊ธฐ๋Šฅ ํ˜น์€ ๋ฉ”์†Œ๋“œ๋ฅผ ๊ตฌํ˜„ํ•  ๋•Œ๋งˆ๋‹ค, ๋ฉ”์ธ ๋ฉ”์†Œ๋“œ์—์„œ ์ง์ ‘ ๊ฐ’์„ ๋„ฃ์–ด ์‹คํ–‰ํ•ด๋ณด๋ฉฐ ๋‚˜๋ฆ„์˜ ํ…Œ์ŠคํŠธ๋ฅผ ์ง„ํ–‰ํ–ˆ์—ˆ์Šต๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ์ด๋ ‡๊ฒŒ ํ•˜๋‹ˆ ๋ณด๊ธฐ๊ฐ€ ๋ถˆํŽธํ–ˆ๊ณ , ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์„œ๋กœ ๊ด€๋ จ์ด ์—†๋Š” ํ…Œ์ŠคํŠธ๊ฐ€ ๊ณ„์†ํ•ด์„œ ๋™์‹œ์— ์ด๋ฃจ์–ด์ง€๋Š” ์ƒํ™ฉ์ด ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ ์ด๋ฒˆ์—๋Š” ๊ธฐ์กด์— ์žˆ๋˜ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ์— ๋”ํ•˜์—ฌ, utils์™€ validation ํŒจํ‚ค์ง€์— ์žˆ๋Š” ๋ฉ”์†Œ๋“œ๋“ค์„ ๊ฒ€์ฆํ•  ์ˆ˜ ์žˆ๋Š” ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ๊ฐ๊ฐ ์ž‘์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค.

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

ํ•˜์ง€๋งŒ ์ตœ์ข… run ํ…Œ์ŠคํŠธ์—์„œ ์˜ค๋ฅ˜๊ฐ€ ๋ช‡ ๊ฐœ ๋ฐœ์ƒํ•˜์—ฌ ๋””๋ฒ„๊น…์„ ์ง„ํ–‰์„ ํ–ˆ๊ณ , ์ด ๊ณผ์ •์—์„œ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ์™€ ๋””์ž์ธ ํŒจํ„ด์˜ ํž˜์„ ์•Œ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์–ด๋А ๋ถ€๋ถ„์—์„œ ์˜ค๋ฅ˜๊ฐ€ ๋‚˜๋Š” ๊ฒƒ์ธ์ง€ ๋ฐ”๋กœ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์—ˆ๊ณ , ๊ทธ ํŒŒ์ผ์ด ์–ด๋А ์œ„์น˜์— ์žˆ๋Š”์ง€ ์•Œ๊ณ  ์žˆ์–ด ๋น ๋ฅธ ์˜ค๋ฅ˜ ์ˆ˜์ •์ด ๊ฐ€๋Šฅํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ฒฐ๊ตญ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ๋ชจ๋‘ ํ†ต๊ณผํ•˜๋ฉฐ ์ œ ์‹œ๊ฐ„์•ˆ์— ์ œ์ถœํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

4. ์‹œ๊ฐ„ ๋ถ€์กฑ

์†Œ์ œ๋ชฉ ๊ทธ๋Œ€๋กœ ์‹œ๊ฐ„์ด ๋งŽ์ด ๋ถ€์กฑํ–ˆ์Šต๋‹ˆ๋‹ค.

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

ํ•˜๋‚˜ํ•˜๋‚˜ ๊ตฌํ˜„ํ•œ ์ž‘์€ ๊ธฐ๋Šฅ๋“ค์ด ๋งˆ์ง€๋ง‰์— ๋ชจ์—ฌ ํ•˜๋‚˜์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋˜์–ด ๋™์ž‘ํ•  ๋•Œ๋Š” ์งœ๋ฆฟํ•œ ๋А๋‚Œ๋งˆ์ € ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.

๋ณด์™„ํ•ด์•ผ ํ•  ๋ถ€๋ถ„๋„ ๋งŽ๊ณ , ์‹œ๊ฐ„ ๋ถ€์กฑ์œผ๋กœ ์ธํ•ด ์•„์‰ฌ์šด ์ ๋„ ์ฐธ ๋งŽ์€ ์ด๋ฒˆ์ฃผ์ฐจ ๋ฏธ์…˜์ด์—ˆ์ง€๋งŒ, ๊ทธ๋ž˜๋„ ๊ฒฐ๊ตญ์€ ์ž˜ ์ œ์ถœ์„ ํ•ด๋ƒˆ์Œ์— ์˜์˜๋ฅผ ๋‘๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

3,4 ์ฃผ์ฐจ๋Š” ๋”์šฑ ๋‚œ์ด๋„๊ฐ€ ์˜ฌ๋ผ๊ฐˆ ๊ฒƒ์ด๊ธฐ์—, ์ œ๋Œ€๋กœ ์ง‘์ค‘ํ•˜์—ฌ ๋๋‚ผ ์ˆ˜ ์žˆ๋Š” ๊ธฐ๊ฐ„์„ ๊ฐœ์ธ์ ์œผ๋กœ ์„ค์ •ํ•ด ์ž˜ ์™„์ˆ˜ํ•ด์•ผ๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ญ๋‹ˆ๋‹ค.


๐Ÿ’ก ๋ณด์™„ํ•ด์•ผ ํ•  ์ 

1. MVC ํŒจํ„ด์˜ ์ดํ•ด ๋ฐ ์ˆ™๋‹ฌ

์œ„์—์„œ ์ ์€ ๋‚ด์šฉ๊ณผ ๊ฐ™์ด, ์ด๋ฒˆ ๋ฏธ์…˜์—์„œ๋Š” MVC ํŒจํ„ด์— ๋Œ€ํ•œ ๋งŽ์€ ๊ณ ๋ฏผ์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋ธ ๋ทฐ ์ปจํŠธ๋กค๋Ÿฌ๋กœ๋งŒ ํŒจํ‚ค์ง€๋ฅผ ๊ตฌ์„ฑํ•ด ๊ฐœ๋ฐœํ•˜๋Š” ๊ฒƒ์—๋Š” ์กฐ๊ธˆ ํ•œ๊ณ„๊ฐ€ ์žˆ์Œ์„ ๋А๊ผˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡๊ธฐ์— ์™œ ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ์„œ๋น„์Šค์™€ ๋„๋ฉ”์ธ ๋˜ํ•œ ๋งŒ๋“ค์–ด ์‚ฌ์šฉํ•˜๋Š”์ง€๋ฅผ ์–ด๋ ดํ’‹์ด๋‚˜๋งˆ ์•Œ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ ‡๊ธฐ์— 3์ฃผ์ฐจ ๋ฏธ์…˜๋ถ€ํ„ฐ๋Š” MVC์— ๋Œ€ํ•œ ํ•™์Šต์„ ๋”์šฑ ์ง„ํ–‰ํ•˜๋ฉฐ ๋„๋ฉ”์ธ๊ณผ ์„œ๋น„์Šค ํŒจํ‚ค์ง€๋ฅผ ์ถ”๊ฐ€ํ•œ ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•ด๋ณผ๊นŒ ํ•ฉ๋‹ˆ๋‹ค. ๋ฏธ์ˆ™ํ•  ์ˆ˜๋„ ์žˆ์ง€๋งŒ, ์ƒˆ๋กœ์šด ๊ฒƒ์— ๋„์ „ํ•˜๋Š” ๊ฒƒ๋งŒํผ ๋น ๋ฅด๊ฒŒ ์„ฑ์žฅํ•˜๋Š” ์ผ์€ ์—†๋‹ค๊ณ  ์ƒ๊ฐํ•˜์—ฌ ๊ฒฐ์ •ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

2. ํด๋ž˜์Šค์— ๋Œ€ํ•œ ์ดํ•ด

์ž๋ฐ”๋Š” ๊ฐ์ฒด์ง€ํ–ฅ์–ธ์–ด์ด๊ณ , ์—ฌ๊ธฐ์„œ ํด๋ž˜์Šค๋ž€ ๋น ์งˆ ์ˆ˜ ์—†๋Š” ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค.

๊ทธ๋งŒํผ ์ค‘์š”ํ•˜๊ณ , ํ˜„์žฌ ์ฝ๊ณ  ์žˆ๋Š” ์ฑ… ๋•๋ถ„์— ๋”์šฑ ๋งŽ์€ ํฅ๋ฏธ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๋งค์ฃผ ์ง„ํ–‰ํ•˜๋Š” ์Šคํ„ฐ๋””์—์„œ ๋งŽ์€ ์ธ์‚ฌ์ดํŠธ๋ฅผ ์–ป๊ณ , ์ € ๋˜ํ•œ ํ•จ๊ป˜ ๊ณต์œ ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์ •ํ•ด์ง„ ์ฑ•ํ„ฐ๋ฅผ ์ฝ๊ณ  ์ •๋ฆฌํ•˜๋ ค ํ•ฉ๋‹ˆ๋‹ค.

๋˜ํ•œ ์ด๋ฒˆ 2์ฃผ์ฐจ์—์„œ ์•„์‰ฌ์› ๋˜ ๋ถ€๋ถ„์— ๋Œ€ํ•ด์„œ๋„ ๋‹ค์‹œ ํ•œ ๋ฒˆ ์ƒ๊ฐํ•ด๋ณด๋ฉฐ, ํด๋ž˜์Šค์— ๋Œ€ํ•œ ๊ฐœ๋…์„ ์กฐ๊ธˆ ๋” ์ •๋ฆฝํ•ด๋ณด๋ ค ํ•ฉ๋‹ˆ๋‹ค.

3. ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ์— ๋Œ€ํ•œ ์ดํ•ด ๋ฐ ์ˆ™๋‹ฌ

์ด๋ฒˆ ๋ฏธ์…˜์—์„œ๋Š” ํ•˜๋‚˜์˜ ๊ธฐ๋Šฅ์ด ์•„๋‹ˆ๋ผ ๋ฉ”์†Œ๋“œ๋ฅผ ๊ตฌํ˜„ํ•  ๋•Œ๋งˆ๋‹ค ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ–ˆ๊ณ , ๋ฉ”์†Œ๋“œ๋Š” feat์œผ๋กœ, ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋Š” test๋กœ ํ•˜์—ฌ ์ปค๋ฐ‹์„ ๋‘ ๋ฒˆ์”ฉ ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ํ•ญ์ƒ ์ตœ๋Œ€ํ•œ ์ž˜๊ฒŒ ์ชผ๊ฐœ๋Š” ๊ฒƒ๋งŒ์ด ๋Šฅ์‚ฌ๋Š” ์•„๋‹ˆ๊ธฐ์—, ์–ด๋А ์ •๋„์—์„œ ์ปค๋ฐ‹์„ ํ•ด์•ผ ํ•˜๋Š”์ง€ ์กฐ๊ธˆ ๋” ์ƒ๊ฐ์ด ํ•„์š”ํ•  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ํฌ๋น„๋‹˜๊ป˜์„œ๋Š” ๊ฐ๊ฐ์ด ์•„๋‹ˆ๋ผ ๋‘˜์„ ๋ฌถ์–ด ํ•œ ๋ฒˆ์— ์ปค๋ฐ‹ํ•œ๋‹ค๊ณ  ํ•˜๋‹ˆ.. ์ด ๋ถ€๋ถ„๋„ ์ข€ ๋” ์•Œ์•„๋ณด์•„์•ผ๊ฒ ์Šต๋‹ˆ๋‹ค!

ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ์ด ์ฒ˜์Œ์ด๋‹ค ๋ณด๋‹ˆ, ์–ด๋–ค ๊ธฐ๋Šฅ๋“ค์ด ์žˆ๋Š”์ง€๋„ ์ •ํ™•ํžˆ ๋ชจ๋ฅด๊ณ  ์–ด๋–ป๊ฒŒ ๋น„๊ต๋ฅผ ํ•ด์•ผ ํ•˜๋Š”์ง€๋„ ์ž˜ ๋ชฐ๋ž์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ์—๋Š” ์กฐ๊ธˆ ๋” ์ข‹์€ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์งค ์ˆ˜ ์žˆ๋„๋ก ๋…ธ๋ ฅํ•ด์•ผ๊ฒ ์Šต๋‹ˆ๋‹ค.

4. ์ž๋ฐ” ์ฝ”๋“œ ์ปจ๋ฒค์…˜ ์ˆ™์ง€

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

์ง€ํ‚ค๋ ค๊ณ  ๋…ธ๋ ฅ์€ ํ•˜์˜€์ง€๋งŒ, ์•„์ง ๋†“์นœ ๋ถ€๋ถ„๋„ ๋งŽ์€ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ž๋ฐ”๋ฅผ ์ฃผ๋ ฅ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž๋กœ์„œ ์ด๋Ÿฌํ•œ ์—ญ๋Ÿ‰์€ ํ”ผ์™€ ์‚ด์ด ๋˜๊ธฐ ๋•Œ๋ฌธ์—, ์กฐ๊ธˆ์€ ๋ฒˆ๊ฑฐ๋กœ์›Œ๋„ ์†์— ์ตํžˆ๋ ค๊ณ  ๋…ธ๋ ฅํ•˜๋ ค ํ•ฉ๋‹ˆ๋‹ค.

5. depth๋ฅผ ์–•๊ฒŒ ๋งŒ๋“œ๋Š” ๊ฒƒ์— ์ต์ˆ™ํ•ด์ง€๊ธฐ

1์ฃผ์ฐจ์—๋Š” ์—†์—ˆ์ง€๋งŒ, 2์ฃผ์ฐจ๋ถ€ํ„ฐ๋Š” ๋ฉ”์†Œ๋“œ์˜ depth๋ฅผ 2๊นŒ์ง€๋งŒ ํ—ˆ์šฉํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด๋Š” ์ œ๊ฐ€ ์ฝ”๋“œ๋ฅผ ์งœ๋Š” ๋ฐ์— ๋งŽ์€ ๊ฑธ๋ฆผ๋Œ์ด์—ˆ์Šต๋‹ˆ๋‹ค.

์ œ ์ƒ๊ฐ์œผ๋กœ๋Š” ๋ฐ˜๋ณต๋ฌธ์ด ๋‘ ๋ฒˆ ๋“ค์–ด๊ฐ€์•ผ depth๊ฐ€ 2๋ผ๊ณ  ์ƒ๊ฐํ–ˆ์ง€๋งŒ, ๊ทธ๋ ‡์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๋“ค์—ฌ์“ฐ๊ธฐ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ•˜๋Š” ๊ฒƒ์œผ๋กœ, ๋ฐ˜๋ณต๋ฌธ ๋˜๋Š” ์กฐ๊ฑด๋ฌธ๋งŒ ํ•˜๋‚˜๋ผ๋„ ์‚ฌ์šฉํ•˜๋ฉด ํ•ด๋‹น ์กฐ๊ฑด์— ๋งž์ถœ ์ˆ˜ ์—†์—ˆ์Šต๋‹ˆ๋‹ค.

๊ฐ„๋‹จํ•œ ๋ฉ”์†Œ๋“œ์—๋Š” ๋ณ„ ๋ฌธ์ œ๊ฐ€ ์—†์—ˆ์ง€๋งŒ, ์ „์ฒด ๋กœ์ง์„ ์ง„ํ–‰ํ•˜๋Š” ์ƒํ™ฉ์—์„œ๋Š” ์ฝ”๋“œ๋ฅผ ์ญ‰ ์ ์ง€ ๋ชปํ•˜๋‹ˆ ์—ฌ๋Ÿฌ ๊ณ ๋ฏผ์ด ์ƒ๊ฒจ๋‚ฌ์Šต๋‹ˆ๋‹ค. ๊ฒฐ๊ตญ ์‹œ๊ฐ„์€ ๋งŽ์ด ์†Œ๋ชจ๋˜์—ˆ์ง€๋งŒ, ์™œ ์ด๋ ‡๊ฒŒ ํ•ด์•ผํ•˜๋Š”์ง€์— ๋Œ€ํ•ด์„œ๋Š” ์กฐ๊ธˆ์€ ์•Œ๊ฒŒ ๋œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

depth๋ฅผ ์ค„์ด๋ ค๊ณ  ํ•˜๋‹ค๋ณด๋‹ˆ ์ž์—ฐ์Šค๋ ˆ ์ž‘์€ ๊ธฐ๋Šฅ๋ณ„๋กœ ๋ฉ”์†Œ๋“œ๋ฅผ ๋งŒ๋“ค๊ฒŒ ๋˜์—ˆ๊ณ , ์ด๋Š” ์šฐํ…Œ์ฝ”์—์„œ ํ•˜๋‚˜์˜ ๋ฉ”์†Œ๋“œ์—์„œ ํ•œ ๊ฐ€์ง€ ์ผ๋งŒ ํ•˜๋„๋ก ์ตœ๋Œ€ํ•œ ์ž‘๊ฒŒ ๋งŒ๋“ค์–ด๋ผ.๋ผ๋Š” ์š”์ฒญ์— ๋ถ€ํ•ฉํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

๋ฉ”์†Œ๋“œ๊ฐ€ ๋งŽ์•„์ ธ ํŒŒ์•…ํ•˜๊ธฐ ํž˜๋“ค ๊ฒƒ์„ ๊ณ ๋ คํ•ด, ๋”์šฑ ์ง๊ด€์ ์ด๊ณ  ๋œป์— ๋งž๋Š” ์ž‘๋ช…์„ ๊ณ ๋ฏผํ•˜๊ฒŒ ๋˜์—ˆ๊ณ  ์ด ๋˜ํ•œ ์ €์—๊ฒŒ ๋งŽ์€ ๋„์›€์ด ๋œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

6. HashMap์— ๋Œ€ํ•œ ์ดํ•ด

2์ฃผ์ฐจ ๋ฏธ์…˜์—์„œ๋Š” ๊ฐ ์ž๋™์ฐจ์˜ ์ด๋™๊ฑฐ๋ฆฌ๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด์„œ HashMap์„ ํ™œ์šฉํ•ด ๊ตฌํ˜„ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์ž๋™์ฐจ์˜ ์ด๋ฆ„๊ณผ, ๊ฐ๊ฐ์˜ ์ด๋™๊ฑฐ๋ฆฌ๋ฅผ ์•Œ์•„์•ผ ํ–ˆ๊ณ  ๋ณ€๊ฒฝ๋„ ํ•ด์•ผ ํ–ˆ๊ธฐ์— ๋‚˜๋ฆ„๋Œ€๋กœ ๊ดœ์ฐฎ์€ ํŒ๋‹จ์ด๋ผ๊ณ  ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ํ…Œ์ŠคํŠธ๋ฅผ ๋Œ๋ฆฐ ๊ฒฐ๊ณผ, ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ์ž…๋ ฅํ•œ ์ž๋™์ฐจ๋“ค์˜ ์ด๋ฆ„ ์ˆœ์„œ์™€, ์ถœ๋ ฅ ์ˆœ์„œ๊ฐ€ ๋‹ค๋ฅธ ๊ฒƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค.

์ด๋Š” ํ•ด์‹œ๋งต์€ ์ˆœ์„œ๋ฅผ ๊ณ ๋ คํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์ ์„ ๊ฐ„๊ณผํ•œ ๊ฒƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ์•Œ์ง€ ๋ชปํ•ด์„œ ๋‹นํ™ฉํ–ˆ๊ณ , ๊ฒฐ๊ตญ ์•Œ์•„๋ณด๊ณ  ์ˆ˜์ •ํ•˜๋Š” ๋ฐ ์‹œ๊ฐ„์„ ๋” ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ ์ตœ์ข… ์šฐ์Šน์ž์˜ ์ด๋™ ๊ฑฐ๋ฆฌ๋ฅผ ํŒŒ์•…ํ•˜๊ธฐ ์œ„ํ•ด ๊ณ ๋ฏผ์„ ํ•˜๋‹ค๊ฐ€, values ์ค‘ ์ตœ๋Œ“๊ฐ’์„ ๋ฐ”๋กœ ๋ฐ˜ํ™˜ํ•ด์ฃผ๋Š” ๋ฉ”์†Œ๋“œ๋ฅผ ์ฐพ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” Collections.max ์˜€๊ณ , ์•ž์œผ๋กœ ๊ธฐ์–ตํ•ด๋‘๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.

7. ๋ฆฌํŒฉํ† ๋ง์— ๋” ๋งŽ์€ ์‹œ๊ฐ„ ์Ÿ๊ธฐ

๋Œ€๋ถ€๋ถ„์˜ ์‚ฌ๋žŒ๋“ค์ด ์ถ”์ฒœํ•˜๋Š” ๊ฒƒ์ด, ์šฐ์„  ๋น ๋ฅด๊ฒŒ ๋งŒ๋“  ํ›„์— ๋ฆฌํŒฉํ† ๋ง์— ๋” ๋งŽ์€ ์‹œ๊ฐ„์„ ์Ÿ์œผ๋ผ๋Š” ๊ฒƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ œ ์„ฑ๊ฒฉ์ƒ ๋Œ€์ถฉ ๋งŒ๋“ค๊ณ  ๋‹ค์‹œ ์ˆ˜์ •ํ•˜๋Š” ๊ฒƒ์ด ์–ด๋ ค์› ๊ณ , ๊ฒฐ๊ตญ ๊ตฌํ˜„ํ•˜๋Š”๋ฐ ์ƒ๊ฐ๋ณด๋‹ค ๋” ๋งŽ์€ ์‹œ๊ฐ„์„ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ทธ ๊ฒฐ๊ณผ ๋ฆฌํŒฉํ† ๋ง์„ ํ•  ์‹œ๊ฐ„๊ณผ ์—๋„ˆ์ง€๋„ ๋ถ€์กฑํ•˜์—ฌ ์ œ๋Œ€๋กœ ์ง„ํ–‰ํ•˜์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค.

๋ฌผ๋ก  ์ด๋ฅผ ๋ฐ”๋กœ ๋ฐ”๊พธ๊ธฐ๋Š” ํž˜๋“ค๊ฒ ์ง€๋งŒ, ์•ž์œผ๋กœ๋„ ์ง€๊ธˆ์ฒ˜๋Ÿผ ๊ณ„์† ์ง„ํ–‰ํ•œ๋‹ค๋ฉด ์ตœ์ข… ์ฝ”ํ…Œ์— ๊ฐ€์„œ๋„ ๋Œ์•„๊ฐ€๊ธด ํ•˜๋Š” ์“ฐ๋ ˆ๊ธฐ์กฐ์ฐจ ๋งŒ๋“ค์ง€ ๋ชปํ•  ๊ฒƒ ๊ฐ™๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ญ๋‹ˆ๋‹ค.

8. ์„ค๊ณ„ ๋ฐ ๋ฌธ์„œํ™” ์†๋„ ์ฆ์ง„

์œ„์˜ ๋‚ด์šฉ๊ณผ ์ผ๋งฅ์ƒํ†ตํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋Šฅ ๋ชฉ๋ก์„ ์ž์„ธํ•˜๊ฒŒ ์ž‘์„ฑํ•œ ๊ฒƒ์€ ์ข‹์œผ๋‚˜, ์‹œ๊ฐ„์ด ํ•œ์ •๋œ ์ƒํ™ฉ์—์„œ๋Š” ์–ด๋А ์ •๋„ ๋„˜์–ด๊ฐˆ ์ค„๋„ ์•Œ์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด๋ฅผ ํ•˜์ง€ ๋ชปํ•˜์—ฌ ์ด๋ฒˆ ์ฃผ์ฐจ์—๋„ ๋ฌธ์„œํ™”์— ๋งŽ์€ ์‹œ๊ฐ„์„ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋ฌธ์„œํ™”๋ฅผ ์•„์ฃผ ๊ผผ๊ผผํžˆ ํ•˜๊ณ  ๋‚˜๋‹ˆ, ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐ๋Š” ์œ„์น˜์— ๋Œ€ํ•œ ๊ณ ๋ฏผ๋„, ์ž‘๋ช…์— ๋Œ€ํ•œ ๊ณ ๋ฏผ๋„ ๋งŽ์ด ์ค„์€ ๊ฒƒ์€ ๋ถ„๋ช… ์žฅ์ ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋ชจ๋“  ๊ฒƒ์ด ์ œ ๋จธ๋ฆฌ์—์„œ ๋‚˜์˜จ ์„ค๊ณ„๋Œ€๋กœ ํ˜๋Ÿฌ๊ฐ€์ง€๋Š” ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๊ฒฐ๊ตญ ์ฝ”๋“œ๋ฅผ ์งœ๋ฉฐ ์ˆ˜์ •์„ ๊ณ„์†ํ•ด์„œ ํ•˜๊ฒŒ ๋˜์—ˆ๊ณ , ์ด ๋˜ํ•œ ๋งŽ์€ ์‹œ๊ฐ„์ด ์†Œ๋ชจ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์‹œ๊ฐ„์ด ๋งŽ์€ ์ƒํ™ฉ์ด๋ผ๋ฉด ์ง€๊ธˆ์ฒ˜๋Ÿผ ๋ฌธ์„œํ™”๋ฅผ ์—ด์‹ฌํžˆ, ๊ทธ๋ฆฌ๊ณ  ์˜ˆ์˜๊ฒŒ ํ•˜๋Š” ๊ฒƒ๋„ ์ข‹๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ตœ์ข… ์ฝ”ํ…Œ๋Š” 5์‹œ๊ฐ„๋งŒ ์ฃผ์–ด์ง€๊ธฐ์—, ์ง€๊ธˆ์˜ ๋ฐฉ์‹๋ณด๋‹ค ๋” ๋น ๋ฅด๊ฒŒ ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ฐพ์•„์•ผํ•  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.


(2์ฃผ์ฐจ ๊นƒํ—ˆ๋ธŒ : https://github.com/bbbang105/java-racingcar-6)