๋ณธ๋ฌธ์œผ๋กœ ๊ฑด๋„ˆ๋›ฐ๊ธฐ

๐Ÿญ Chapter 13: ๋™์‹œ์„ฑ

๐ŸŽƒ ๋™์‹œ์„ฑ์ด ํ•„์š”ํ•œ ์ด์œ ?โ€‹

๋™์‹œ์„ฑ์€ ๊ฒฐํ•ฉ(coupling)์„ ์—†์• ๋Š” ์ „๋žต์ด๋‹ค. ์ฆ‰, ๋ฌด์—‡๊ณผ ์–ธ์ œ๋ฅผ ๋ถ„๋ฆฌํ•˜๋Š” ์ „๋žต์ด๋‹ค. ์Šค๋ ˆ๋“œ๊ฐ€ ํ•˜๋‚˜์ธ ํ”„๋กœ๊ทธ๋žจ์€ ๋ฌด์—‡๊ณผ ์–ธ์ œ๊ฐ€ ์„œ๋กœ ๋ฐ€์ ‘ํ•˜๋‹ค. ๊ทธ๋ž˜์„œ ํ˜ธ์ถœ ์Šคํƒ์„ ์‚ดํŽด๋ณด๋ฉด ํ”„๋กœ๊ทธ๋žจ ์ƒํƒœ๊ฐ€ ๊ณง๋ฐ”๋กœ ๋“œ๋Ÿฌ๋‚œ๋‹ค. ํ”ํžˆ ๋‹จ์ผ ์Šค๋ ˆ๋“œ ํ”„๋กœ๊ทธ๋žจ์„ ๋””๋ฒ„๊น…ํ•˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋จธ๋Š” ์ •์ง€์ (breakpoint)์„ ์ •ํ•œ ํ›„ ์–ด๋Š ์ •์ง€์ ์— ๊ฑธ๋ ธ๋Š”์ง€ ์‚ดํŽด๋ณด๋ฉด์„œ ์‹œ์Šคํ…œ ์ƒํƒœ๋ฅผ ํŒŒ์•…ํ•œ๋‹ค.

๋ฌด์—‡๊ณผ ์–ธ์ œ๋ฅผ ๋ถ„๋ฆฌํ•˜๋ฉด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ตฌ์กฐ์™€ ํšจ์œจ์ด ๊ทน์ ์œผ๋กœ ๋‚˜์•„์ง„๋‹ค. ๊ตฌ์กฐ์ ์ธ ๊ด€์ ์—์„œ ํ”„๋กœ๊ทธ๋žจ์€ ๊ฑฐ๋Œ€ํ•œ ๋ฃจํ”„ ํ•˜๋‚˜๊ฐ€ ์•„๋‹ˆ๋ผ ์ž‘์€ ํ˜‘๋ ฅ ํ”„๋กœ๊ทธ๋žจ ์—ฌ๋Ÿฟ์œผ๋กœ ๋ณด์ธ๋‹ค. ๋”ฐ๋ผ์„œ ์‹œ์Šคํ…œ์„ ์ดํ•ดํ•˜๊ธฐ๊ฐ€ ์‰ฝ๊ณ  ๋ฌธ์ œ๋ฅผ ๋ถ„๋ฆฌํ•˜๊ธฐ๋„ ์‰ฝ๋‹ค.

๐ŸŽˆ ๋ฏธ์‹ ๊ณผ ์˜คํ•ดโ€‹

๋™์‹œ์„ฑ์€ ์–ด๋ ต๋‹ค. ๊ฐ๋ณ„ํžˆ ์ฃผ์˜ํ•˜์ง€ ์•Š์œผ๋ฉด ๋‚œ๊ฐํ•œ ์ƒํ™ฉ์— ์ฒ˜ํ•œ๋‹ค. ๋‹ค์Œ์€ ๋™์‹œ์„ฑ๊ณผ ๊ด€๋ จํ•œ ์ผ๋ฐ˜์ ์ธ ๋ฏธ์‹ ๊ณผ ์˜คํ•ด๋‹ค.

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

๋ฐ˜๋Œ€๋กœ ๋‹ค์Œ์€ ๋™์‹œ์„ฑ๊ณผ ๊ด€๋ จ๋œ ํƒ€๋‹นํ•œ ์ƒ๊ฐ ๋ช‡ ๊ฐ€์ง€๋‹ค.

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

๐ŸŽƒ ๋™์‹œ์„ฑ ๋ฐฉ์–ด ์›์น™โ€‹

๐ŸŽˆ ๋‹จ์ผ ์ฑ…์ž„ ์›์น™(Single Responsibility Principle, SRP)โ€‹

SRP๋Š” ์ฃผ์–ด์ง„ ๋ฉ”์„œ๋“œ/ํด๋ž˜์Šค/์ปดํฌ๋„ŒํŠธ๋ฅผ ๋ณ€๊ฒฝํ•  ์ด์œ ๊ฐ€ ํ•˜๋‚˜์—ฌ์•ผ ํ•œ๋‹ค๋Š” ์›์น™์ด๋‹ค. ๋™์‹œ์„ฑ์€ ๋ณต์žก์„ฑ ํ•˜๋‚˜๋งŒ์œผ๋กœ๋„ ๋”ฐ๋กœ ๋ถ„๋ฆฌํ•  ์ด์œ ๊ฐ€ ์ถฉ๋ถ„ํ•˜๋‹ค. ์ฆ‰, ๋™์‹œ์„ฑ ๊ด€๋ จ ์ฝ”๋“œ๋Š” ๋‹ค๋ฅธ ์ฝ”๋“œ์™€ ๋ถ„๋ฆฌํ•ด์•ผ ํ•œ๋‹ค๋Š” ๋œป์ด๋‹ค. ๋™์‹œ์„ฑ์„ ๊ตฌํ˜„ํ•  ๋•Œ๋Š” ๋‹ค์Œ ๋ช‡ ๊ฐ€์ง€๋ฅผ ๊ณ ๋ คํ•œ๋‹ค.

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

๊ถŒ์žฅ์‚ฌํ•ญ: ๋™์‹œ์„ฑ ์ฝ”๋“œ๋Š” ๋‹ค๋ฅธ ์ฝ”๋“œ์™€ ๋ถ„๋ฆฌํ•˜๋ผ

๐ŸŽˆ ๋”ฐ๋ฆ„ ์ •๋ฆฌ: ์ž๋ฃŒ ๋ฒ”์œ„๋ฅผ ์ œํ•œํ•˜๋ผ.โ€‹

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

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

๊ถŒ์žฅ์‚ฌํ•ญ: ์ž๋ฃŒ๋ฅผ ์บก์Šํ™”ํ•˜๋ผ. ๊ณต์œ  ์ž๋ฃŒ๋ฅผ ์ตœ๋Œ€ํ•œ ์ค„์—ฌ๋ผ.

๐ŸŽˆ ๋”ฐ๋ฆ„ ์ •๋ฆฌ: ์ž๋ฃŒ ์‚ฌ๋ณธ์„ ์‚ฌ์šฉํ•˜๋ผโ€‹

๊ณต์œ  ์ž๋ฃŒ๋ฅผ ์ค„์ด๋ ค๋ฉด ์ฒ˜์Œ๋ถ€ํ„ฐ ๊ณต์œ ํ•˜์ง€ ์•Š๋Š” ๋ฐฉ๋ฒ•์ด ์ œ์ผ ์ข‹๋‹ค. ์–ด๋–ค ๊ฒฝ์šฐ์—๋Š” ๊ฐ์ฒด๋ฅผ ๋ณต์‚ฌํ•ด ์ฝ๊ธฐ ์ „์šฉ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ์–ด๋–ค ๊ฒฝ์šฐ์—๋Š” ๊ฐ ์Šค๋ ˆ๋“œ๊ฐ€ ๊ฐ์น˜๋ฅผ ๋ณต์‚ฌํ•ด ์‚ฌ์šฉํ•œ ํ›„ ํ•œ ์Šค๋ ˆ๋“œ๊ฐ€ ํ•ด๋‹น ์‚ฌ๋ณธ์—์„œ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๋ฐฉ๋ฒ•๋„ ๊ฐ€๋Šฅํ•˜๋‹ค.

๊ณต์œ  ๊ฐ์ฒด๋ฅผ ํ”ผํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค๋ฉด ์ฝ”๋“œ๊ฐ€ ๋ฌธ์ œ๋ฅผ ์ผ์œผํ‚ฌ ๊ฐ€๋Šฅ์„ฑ๋„ ์•„์ฃผ ๋‚ฎ์•„์ง„๋‹ค.

๐ŸŽˆ ๋”ฐ๋ฆ„ ์ •๋ฆฌ: ์Šค๋ ˆ๋“œ๋Š” ๊ฐ€๋Šฅํ•œ ๋…๋ฆฝ์ ์œผ๋กœ ๊ตฌํ˜„ํ•˜๋ผโ€‹

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

๊ถŒ์žฅ์‚ฌํ•ญ: ๋…์ž์ ์ธ ์Šค๋ ˆ๋“œ๋กœ, ๊ฐ€๋Šฅํ•˜๋ฉด ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์„œ์—์„œ, ๋Œ๋ ค๋„ ๊ดœ์ฐฎ๋„๋ก ์ž๋ฃŒ๋ฅผ ๋…๋ฆฝ์ ์ธ ๋‹จ์œ„๋กœ ๋ถ„ํ• ํ•˜๋ผ.

๐ŸŽƒ ์‹คํ–‰ ๋ชจ๋ธ์„ ์ดํ•ดํ•˜๋ผโ€‹

๋‹ค์ค‘ ์Šค๋ ˆ๋“œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์‹คํ–‰ ๋ชจ๋ธ์„ ๋ช‡ ๊ฐ€์ง€ ์‚ดํŽด๋ณด์ž.

๐ŸŽˆ ์ƒ์‚ฐ์ž-์†Œ๋น„์ž(Producer-Consumer)โ€‹

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

๐ŸŽˆ ์ฝ๊ธฐ-์“ฐ๊ธฐโ€‹

์ฝ๊ธฐ ์Šค๋ ˆ๋“œ๋ฅผ ์œ„ํ•œ ์ฃผ๋œ ์ •๋ณด์›์œผ๋กœ ๊ณต์œ  ์ž์›์„ ์‚ฌ์šฉํ•˜์ง€๋งŒ, ์“ฐ๊ธฐ ์Šค๋ ˆ๋“œ๊ฐ€ ์ด ๊ณต์œ  ์ž์›์„ ์ด๋”ฐ๊ธˆ ๊ฐฑ์‹ ํ•œ๋‹ค๊ณ  ํ•˜์ž. ์ด๋Ÿฐ ๊ฒฝ์šฐ ์ฒ˜๋ฆฌ์œจ์ด ๋ฌธ์ œ์˜ ํ•ต์‹ฌ์ด๋‹ค. ์ฒ˜๋ฆฌ์œจ์„ ๊ฐ•์กฐํ•˜๋ฉด ๊ธฐ์•„ ํ˜„์ƒ์ด ์ƒ๊ธฐ๊ฑฐ๋‚˜ ์˜ค๋ž˜๋œ ์ •๋ณด๊ฐ€ ์Œ“์ธ๋‹ค. ๊ฐฑ์‹ ์„ ํ—ˆ์šฉํ•˜๋ฉด ์ฒ˜๋ฆฌ์œจ์— ์˜ํ–ฅ์„ ๋ฏธ์นœ๋‹ค. ์“ฐ๊ธฐ ์Šค๋ ˆ๋“œ๊ฐ€ ๋ฒ„ํผ๋ฅผ ๊ฐฑ์‹ ํ•˜๋Š” ๋™์•ˆ ์ฝ๊ธฐ ์Šค๋ ˆ๋“œ๊ฐ€ ๋ฒ„ํผ๋ฅผ ์ฝ์ง€ ์•Š์œผ๋ ค๋ฉด, ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ฝ๊ธฐ ์Šค๋ ˆ๋“œ๊ฐ€ ๋ฒ„ํผ๋ฅผ ์ฝ๋Š” ๋™์•ˆ ์“ฐ๊ธฐ ์Šค๋ ˆ๋“œ๊ฐ€ ๋ฒ„ํผ๋ฅผ ๊ฐฑ์‹ ํ•˜์ง€ ์•Š์œผ๋ ค๋ฉด, ๋ณต์žกํ•œ ๊ท ํ˜•์žก๊ธฐ๊ฐ€ ํ•„์š”ํ•˜๋‹ค. ๋Œ€๊ฐœ๋Š” ์“ฐ๊ธฐ ์Šค๋ ˆ๋“œ๊ฐ€ ๋ฒ„ํผ๋ฅผ ์˜ค๋žซ๋™์•ˆ ์ ์œ ํ•˜๋Š” ๋ฐ”๋žŒ์— ์—ฌ๋Ÿฌ ์ฝ๊ธฐ ์Šค๋ ˆ๋“œ๊ฐ€ ๋ฒ„ํผ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๋Š๋ผ ์ฒ˜๋ฆฌ์œจ์ด ๋–จ์–ด์ง„๋‹ค.

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

๐ŸŽˆ ์‹์‚ฌํ•˜๋Š” ์ฒ ํ•™์ž๋“คโ€‹

๋งŽ์€ ๊ธฐ์—… ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๊ฒช๋Š” ๋ฌธ์ œ๋‹ค. ๊ธฐ์—… ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ž์›์„ ์–ป์œผ๋ ค ๊ฒฝ์Ÿํ•œ๋‹ค. ์ฃผ์˜ํ•ด์„œ ์„ค๊ณ„ํ•˜์ง€ ์•Š์œผ๋ฉด ๋ฐ๋“œ๋ฝ, ๋ผ์ด๋ธŒ๋ฝ, ์ฒ˜๋ฆฌ์œจ ์ €ํ•˜, ํšจ์œจ์„ฑ ์ €ํ•˜ ๋“ฑ์„ ๊ฒช๋Š”๋‹ค.

์ผ์ƒ์—์„œ ์ ‘ํ•˜๋Š” ๋Œ€๋‹ค์ˆ˜ ๋‹ค์ค‘ ์Šค๋ ˆ๋“œ ๋ฌธ์ œ๋Š” ์œ„ ์„ธ ๋ฒ”์ฃผ ์ค‘ ํ•˜๋‚˜์— ์†ํ•œ๋‹ค. ๊ฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ณต๋ถ€ํ•˜๊ณ  ํ•ด๋ฒ•์„ ์ง์ ‘ ๊ตฌํ˜„ํ•ด๋ณด๋ผ. ๊ทธ๋Ÿฌ๋ฉด ๋‚˜์ค‘์— ์‹ค์ „ ๋ฌธ์ œ์— ๋ถ€๋‹ฅ์ณค์„ ๋•Œ ํ•ด๊ฒฐ์ด ์‰ฌ์›Œ์ง€๋ฆฌ๋ผ.

๊ถŒ์žฅ์‚ฌํ•ญ: ์œ„์—์„œ ์„ค๋ช…ํ•œ ๊ธฐ๋ณธ ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ๊ฐ ํ•ด๋ฒ•์„ ์ดํ•ดํ•˜๋ผ.

๐ŸŽƒ ๋™๊ธฐํ™”ํ•˜๋Š” ๋ฉ”์„œ๋“œ ์‚ฌ์ด์— ์กด์žฌํ•˜๋Š” ์˜์กด์„ฑ์„ ์ดํ•ดํ•˜๋ผโ€‹

๋™๊ธฐํ™”ํ•˜๋Š” ๋ฉ”์„œ๋“œ ์‚ฌ์ด์— ์˜์กด์„ฑ์ด ์กด์žฌํ•˜๋ฉด ๋™์‹œ์„ฑ ์ฝ”๋“œ๋ฅผ ์ฐพ์•„๋‚ด๊ธฐ ์–ด๋ ค์šด ๋ฒ„๊ทธ๊ฐ€ ์ƒ๊ธด๋‹ค. ์ž๋ฐ” ์–ธ์–ด๋Š” ๊ฐœ๋ณ„ ๋ฉ”์„œ๋“œ๋ฅผ ๋ณดํ˜ธํ•˜๋Š” synchronized๋ผ๋Š” ๊ฐœ๋…์„ ์ง€์›ํ•œ๋‹ค. ํ•˜์ง€๋งŒ ๊ณต์œ  ํด๋ž˜์Šค ํ•˜๋‚˜์— ๋™๊ธฐํ™”๋œ ๋ฉ”์„œ๋“œ๊ฐ€ ์—ฌ๋Ÿฟ์ด๋ผ๋ฉด ๊ตฌํ˜„์ด ์˜ฌ๋ฐ”๋ฅธ์ง€ ๋‹ค์‹œ ํ•œ ๋ฒˆ ํ™•์ธํ•˜๊ธฐ ๋ฐ”๋ž€๋‹ค.

๊ถŒ์žฅ์‚ฌํ•ญ: ๊ณต์œ  ๊ฐ์ฒด ํ•˜๋‚˜์—๋Š” ๋ฉ”์„œ๋“œ ํ•˜๋‚˜๋งŒ ์‚ฌ์šฉํ•˜๋ผ.

๐ŸŽƒ ๋™๊ธฐํ™”ํ•˜๋Š” ๋ถ€๋ถ„์„ ์ž‘๊ฒŒ ๋งŒ๋“ค์–ด๋ผโ€‹

๋ฝ์€ ์Šค๋ ˆ๋“œ๋ฅผ ์ง€์—ฐ์‹œํ‚ค๊ณ  ๋ถ€ํ•˜๋ฅผ ๊ฐ€์ค‘์‹œํ‚จ๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ ์—ฌ๊ธฐ์ €๊ธฐ์„œ synchronized ๋ฌธ์„ ๋‚จ๋ฐœํ•˜๋Š” ์ฝ”๋“œ๋Š” ๋ฐ”๋žŒ์งํ•˜์ง€ ์•Š๋‹ค. ๋ฐ˜๋ฉด, ์ž„๊ณ„์˜์—ญ์€ ๋ฐ˜๋“œ์‹œ ๋ณดํ˜ธํ•ด์•ผ ํ•œ. ๋”ฐ๋ผ์„œ, ์ฝ”๋“œ๋ฅผ ์งค ๋•Œ๋Š” ์ž„๊ณ„์˜์—ญ ์ˆ˜๋ฅผ ์ตœ๋Œ€ํ•œ ์ค„์—ฌ์•ผ ํ•œ๋‹ค.

์ž„๊ณ„์˜์—ญ ๊ฐœ์ˆ˜๋ฅผ ์ค„์ธ๋‹ต์‹œ๊ณ  ๊ฑฐ๋Œ€ํ•œ ์ž„๊ณ„์˜์—ญ ํ•˜๋‚˜๋กœ ๊ตฌํ˜„ํ•˜๋Š” ์ˆœ์ง„ํ•œ ํ”„๋กœ๊ทธ๋ž˜๋จธ๋„ ์žˆ๋‹ค. ํ•„์š” ์ด์ƒ์œผ๋กœ ์ž„๊ณ„์˜์—ญ ํฌ๊ธฐ๋ฅผ ํ‚ค์šฐ๋ฉด ์Šค๋ ˆ๋“œ ๊ฐ„์— ๊ฒฝ์Ÿ์ด ๋Š˜์–ด๋‚˜๊ณ  ํ”„๋กœ๊ทธ๋žจ ์„ฑ๋Šฅ์ด ๋–จ์–ด์ง„๋‹ค.

๊ถŒ์žฅ์‚ฌํ•ญ: ๋™๊ธฐํ™”ํ•˜๋Š” ๋ถ€๋ถ„์„ ์ตœ๋Œ€ํ•œ ์ž‘๊ฒŒ ๋งŒ๋“ค์–ด๋ผ.

๐ŸŽƒ ์˜ฌ๋ฐ”๋ฅธ ์ข…๋ฃŒ ์ฝ”๋“œ๋Š” ๊ตฌํ˜„ํ•˜๊ธฐ ์–ด๋ ต๋‹ค.โ€‹

๊น”๋”ํ•˜๊ฒŒ ์ข…๋ฃŒํ•˜๋Š” ์ฝ”๋“œ๋Š” ์˜ฌ๋ฐ”๋กœ ๊ตฌํ˜„ํ•˜๊ธฐ ์–ด๋ ต๋‹ค. ๊ฐ€์žฅ ํ”ํžˆ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐ๋“œ๋ฝ์ด๋‹ค. ์ฆ‰, ์Šค๋ ˆ๋“œ๊ฐ€ ์ ˆ๋Œ€ ์˜ค์ง€ ์•Š์€ ์‹œ๊ทธ๋„์„ ๊ธฐ๋‹ค๋ฆฐ๋‹ค.

๊น”๋”ํ•˜๊ฒŒ ์ข…๋ฃŒํ•˜๋Š” ๋‹ค์ค‘ ์Šค๋ ˆ๋“œ ์ฝ”๋“œ๋ฅผ ์งœ์•ผ ํ•œ๋‹ค๋ฉด ์‹œ๊ฐ„์„ ํˆฌ์žํ•ด ์˜ฌ๋ฐ”๋กœ ๊ตฌํ˜„ํ•˜๊ธฐ ๋ฐ”๋ž€๋‹ค.

๊ถŒ์žฅ์‚ฌํ•ญ: ์ข…๋ฃŒ ์ฝ”๋“œ๋ฅผ ๊ฐœ๋ฐœ ์ดˆ๊ธฐ๋ถ€ํ„ฐ ๊ณ ๋ฏผํ•˜๊ณ  ๋™์ž‘ํ•˜๊ฒŒ ์ดˆ๊ธฐ๋ถ€ํ„ฐ ๊ตฌํ˜„ํ•˜๋ผ. ์ƒ๊ฐ๋ณด๋‹ค ์˜ค๋ž˜ ๊ฑธ๋ฆฐ๋‹ค. ์ƒ๊ฐ๋ณด๋‹ค ์–ด๋ ค์šฐ๋ฏ€๋กœ ์ด๋ฏธ ๋‚˜์˜จ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ฒ€ํ† ํ•˜๋ผ.

๐ŸŽƒ ์Šค๋ ˆ๋“œ ์ฝ”๋“œ ํ…Œ์ŠคํŠธํ•˜๊ธฐโ€‹

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

๊ถŒ์žฅ์‚ฌํ•ญ: ๋ฌธ์ œ๋ฅผ ๋…ธ์ถœํ•˜๋Š” ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋ฅผ ์ž‘์„ฑํ•˜๋ผ. ํ”„๋กœ๊ทธ๋žจ ์„ค์ •๊ณผ ์‹œ์Šคํ…œ ์„ค์ •๊ณผ ๋ถ€ํ•˜๋ฅผ ๋ฐ”๊ฟ”๊ฐ€๋ฉฐ ์ž์ฃผ ๋Œ๋ ค๋ผ. ํ…Œ์ŠคํŠธ๊ฐ€ ์‹คํŒจํ•˜๋ฉด ์›์ธ์„ ์ถ”์ ํ•˜๋ผ. ๋‹ค์‹œ ๋Œ๋ ธ๋”๋‹ˆ ํ†ต๊ณผํ•˜๋”๋ผ๋Š” ์ด์œ ๋กœ ๊ทธ๋ƒฅ ๋„˜์–ด๊ฐ€๋ฉด ์ ˆ๋Œ€ ์•ˆ ๋œ๋‹ค.

๊ณ ๋ คํ•  ์‚ฌํ•ญ์ด ์•„์ฃผ ๋งŽ๋‹ค๋Š” ๋œป์ด๋‹ค. ์•„๋ž˜์— ๋ช‡ ๊ฐ€์ง€ ๊ตฌ์ฒด์ ์ธ ์ง€์นจ์„ ์ œ์‹œํ•œ๋‹ค.

  • ๋ง์ด ์•ˆ ๋˜๋Š” ์‹คํŒจ๋Š” ์ž ์ •์ ์ธ ์Šค๋ ˆ๋“œ ๋ฌธ์ œ๋กœ ์ทจ๊ธ‰ํ•˜๋ผ.
  • ๋‹ค์ค‘ ์Šค๋ ˆ๋“œ๋ฅผ ๊ณ ๋ คํ•˜์ง€ ์•Š์€ ์ˆœ์ฐจ ์ฝ”๋“œ๋ถ€ํ„ฐ ์ œ๋Œ€๋กœ ๋Œ๊ฒŒ ๋งŒ๋“ค์ž.
  • ๋‹ค์ค‘ ์Šค๋ ˆ๋“œ๋ฅผ ์“ฐ๋Š” ์ฝ”๋“œ ๋ถ€๋ถ„์„ ๋‹ค์–‘ํ•œ ํ™˜๊ฒฝ์— ์‰ฝ๊ฒŒ ๋ผ์›Œ ๋„ฃ์„ ์ˆ˜ ์žˆ๋„๋ก ์Šค๋ ˆ๋“œ ์ฝ”๋“œ๋ฅผ ๊ตฌํ˜„ํ•˜๋ผ.
  • ๋‹ค์ค‘ ์Šค๋ ˆ๋“œ๋ฅผ ์“ฐ๋Š” ์ฝ”๋“œ ๋ถ€๋ถ€์„ ์ƒํ™ฉ์— ๋งž์ถฐ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ๊ฒŒ ์ž‘์„ฑํ•˜๋ผ.
  • ํ”„๋กœ์„ธ์„œ ์ˆ˜๋ณด๋‹ค ๋งŽ์€ ์Šค๋ ˆ๋“œ๋ฅผ ๋Œ๋ ค๋ณด๋ผ.
  • ๋‹ค๋ฅธ ํ”Œ๋žซํผ์—์„œ ๋Œ๋ ค๋ณด๋ผ.
  • ์ฝ”๋“œ์— ๋ณด์กฐ ์ฝ”๋“œ๋ฅผ ๋„ฃ์–ด ๋Œ๋ ค๋ผ. ๊ฐ•์ œ๋กœ ์‹คํŒจ๋ฅผ ์ผ์œผํ‚ค๊ฒŒ ํ•ด๋ณด๋ผ.

๐ŸŽƒ ๊ฒฐ๋ก โ€‹

๋‹ค์ค‘ ์Šค๋ ˆ๋“œ ์ฝ”๋“œ๋Š” ์˜ฌ๋ฐ”๋กœ ๊ตฌํ˜„ํ•˜๊ธฐ ์–ด๋ ต๋‹ค. ๊ฐ„๋‹จํ–ˆ๋˜ ์ฝ”๋“œ๊ฐ€ ์—ฌ๋Ÿฌ ์Šค๋ ˆ๋“œ์™€ ๊ณต์œ  ์ž๋ฃŒ๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด์„œ ์•…๋ชฝ์œผ๋กœ ๋ณ€ํ•œ๋‹ค. ๋‹ค์ค‘ ์Šค๋ ˆ๋“œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•œ๋‹ค๋ฉด ๊ฐ๋ณ„ํžˆ ๊นจ๋—ํ•˜๊ฒŒ ์ฝ”๋“œ๋ฅผ ์งœ์•ผ ํ•œ๋‹ค. ์ฃผ์˜ํ•˜์ง€ ์•Š์œผ๋ฉด ํฌ๊ท€ํ•˜๊ณ  ์˜ค๋ฌ˜ํ•œ ์˜ค๋ฅ˜์— ์ง๋ฉดํ•˜๊ฒŒ ๋œ๋‹ค.

๋ฌด์—‡๋ณด๋‹ค ๋จผ์ €, SRP๋ฅผ ์ค€์ˆ˜ํ•œ๋‹ค. POJO๋ฅผ ์‚ฌ์šฉํ•ด ์Šค๋ ˆ๋“œ๋ฅผ ์•„๋Š” ์ฝ”๋“œ์™€ ์Šค๋ ˆ๋“œ๋ฅผ ๋ชจ๋ฅด๋Š” ์ฝ”๋“œ๋ฅผ ๋ถ„๋ฆฌํ•œ๋‹ค. ์Šค๋ ˆ๋“œ ์ฝ”๋“œ๋ฅผ ํ…Œ์ŠคํŠธํ•  ๋•Œ๋Š” ์ „์ ์œผ๋กœ ์Šค๋ ˆ๋“œ๋งŒ ํ…Œ์ŠคํŠธํ•œ๋‹ค. ์ฆ‰, ์Šค๋ ˆ๋“œ ์ฝ”๋“œ๋Š” ์ตœ๋Œ€ํ•œ ์ง‘์•ฝ๋˜๊ณ  ์ž‘์•„์•ผ ํ•œ๋‹ค๋Š” ์˜๋ฏธ๋‹ค.

์‚ฌ์šฉํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ๊ธฐ๋ณธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ดํ•ดํ•œ๋‹ค. ํŠน์ • ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ธฐ๋Šฅ์ด ๊ธฐ๋ณธ ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ์œ ์‚ฌํ•œ ์–ด๋–ค ๋ฌธ์ œ๋ฅผ ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ•˜๋Š”์ง€ ํŒŒ์•…ํ•œ๋‹ค.

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

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

๊น”๋”ํ•œ ์ ‘๊ทผ ๋ฐฉ์‹์„ ์ทจํ•œ๋‹ค๋ฉด ์ฝ”๋“œ๊ฐ€ ์˜ฌ๋ฐ”๋กœ ๋Œ์•„๊ฐˆ ๊ฐ€๋Šฅ์„ฑ์ด ๊ทน์ ์œผ๋กœ ๋†’์•„์ง„๋‹ค.