Skip to content

Latest commit

ย 

History

History

01-clean-code

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
ย 
ย 
ย 
ย 
Logo

Clean Code ํด๋ฆฐ ์ฝ”๋“œ

๐Ÿ“ ๋ชฉ์ฐจ


1์žฅ. ๊นจ๋—ํ•œ ์ฝ”๋“œ

p2. ํ—›์†Œ๋ฆฌ! ์•ž์œผ๋กœ ์ฝ”๋“œ๊ฐ€ ์‚ฌ๋ผ์งˆ ๊ฐ€๋ง์€ ์ „ํ˜€ ์—†๋‹ค! ์™œ? ์ฝ”๋“œ๋Š” ์š”๊ตฌ์‚ฌํ•ญ์„ ์ƒ์„ธํžˆ ํ‘œํ˜„ํ•˜๋Š” ์ˆ˜๋‹จ์ด๋‹ˆ๊นŒ! ๐Ÿง

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

p4. ํšŒ์‚ฌ๊ฐ€ ๋งํ•œ ์›์ธ์€ ๋ฐ”๋กœ ๋‚˜์œ ์ฝ”๋“œ ํƒ“์ด์—ˆ๋‹ค. ๐ŸŒต

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

  • ํŽญ๊ท„: ๋‚˜์œ ์ฝ”๋“œ๋ฅผ ์งœ๋ฉด ๋‚˜์ค‘์— ๊ธฐ๋Šฅ ๊ตฌํ˜„ ์‹œ ๊ทธ ์ฝ”๋“œ๋ฅผ ์ดํ•ดํ•˜๋Š๋ผ ์ถ”๊ฐ€๋กœ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฐ๋‹ค. ์ฒ˜์Œ๋ถ€ํ„ฐ ์ข‹์€ ์ฝ”๋“œ๋ฅผ ์งœ์„œ ์ดํ•ดํ•˜๋Š” ์‹œ๊ฐ„์„ ์ค„์ด๋Š” ๊ฒŒ ์ข‹์€ ๊ฒƒ ๊ฐ™๋‹ค.

p7. ์ข‹์€ ์ฝ”๋“œ๋ฅผ ์‚ฌ์ˆ˜ํ•˜๋Š” ์ผ์€ ๋ฐ”๋กœ ์šฐ๋ฆฌ ํ”„๋กœ๊ทธ๋ž˜๋จธ๋“ค์˜ ์ฑ…์ž„์ด๋‹ค. ๐Ÿ‹๐ŸŒต

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

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

p9. ๋‚˜์œ ์ฝ”๋“œ๋Š” ๋‚˜์œ ์ฝ”๋“œ๋ฅผ '์œ ํ˜น'ํ•œ๋‹ค! ๐ŸŒต๐Ÿ‹

  • ์ƒ๋ฆฌ: ๋‚˜์œ์ฝ”๋“œ๊ฐ€ ๋‹ค๋ฅธ ๋‚˜์œ์ฝ”๋“œ๋ฅผ ์œ ํ˜นํ•˜๋Š” ์ง€์— ๋Œ€ํ•œ ์˜ˆ์‹œ๊ฐ€ ๋– ์˜ฌ๋ž๋‹ค. ์™œ ๋‚˜์œ์ฝ”๋“œ๋ฅผ ์งœ๋ฉด ์•ˆ๋˜๋Š” ์ง€ ์žŠ์–ด๋ฒ„๋ ธ์„ ๋•Œ, ๋‹ค์‹œ ์ฝ์–ด๋ณผ๋งŒํ•œ ๊ตฌ์ ˆ(5์ชฝ)

p9. ๋…ผ๋ฆฌ๊ฐ€ ๊ฐ„๋‹จํ•ด์•ผ ๋ฒ„๊ทธ๊ฐ€ ์ˆจ์–ด๋“ค์ง€ ๋ชปํ•œ๋‹ค. ๐Ÿ™‚

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

p10. ๊นจ๋—ํ•œ ์ฝ”๋“œ๋Š” ์„ธ์„ธํ•œ ์‚ฌํ•ญ๊นŒ์ง€ ๊ผผ๊ผผํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•˜๋Š” ์ฝ”๋“œ๋‹ค. ๐Ÿง

  • ํŽญ๊ท„: ์˜ˆ์™ธ์ฒ˜๋ฆฌ๊ฐ€ ์ •๋ง ์ค‘์š”ํ•œ ๊ฒƒ ๊ฐ™๋‹ค.

p10. ๊นจ๋—ํ•œ ์ฝ”๋“œ๋Š” ํ•œ๊ฐ€์ง€์— '์ง‘์ค‘'ํ•œ๋‹ค. ๊ฐ ํ•จ์ˆ˜์™€ ํด๋ž˜์Šค์™€ ๋ชจ๋“ˆ์€ ์ฃผ๋ณ€ ์ƒํ™ฉ์— ํ˜„ํ˜น๋˜๊ฑฐ๋‚˜ ์˜ค์—ผ๋˜์ง€ ์•Š์€ ์ฑ„ ํ•œ๊ธธ๋งŒ ๊ฑท๋Š”๋‹ค. ๐Ÿง๐Ÿ™‚

  • ํŽญ๊ท„: ํ•จ์ˆ˜๊ฐ€ ํ•˜๋‚˜์˜ ์—ญํ• ๋งŒ ํ•˜๋Š”๊ฒŒ ์ค‘์š”ํ•œ ๊ฒƒ ๊ฐ™๋‹ค
  • ํ›„๋ฏธ: ์‹œ๊ฐ„ ๋ณต์žก๋„ VS ํ•จ์ˆ˜๋ณ„ ํ•œ ๊ธฐ๋Šฅ
    • ํŽญ๊ท„, ํŠœ๋ธŒ: ์—ฌ๋Ÿฌ ์ƒํ™ฉ์„ ๊ณ ๋ คํ•ด์•ผํ•  ๊ฒƒ ๊ฐ™๋‹ค.
    • ์ƒ๋ฆฌ: ์ปดํ“จํ„ฐ ์ƒํ™ฉ๋„ ๊ณ ๋ คํ•ด์•ผ ํ•œ๋‹ค.

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

  • ํŽญ๊ท„: ์ฝ”๋“œํ•œํ…Œ๋Š” ๋‹จํ˜ธํ•  ํ•„์š”๊ฐ€ ์žˆ๋‹ค.
  • ํŠœ๋ธŒ: ๋ชจํ˜ธํ•˜์ง€ ์•Š์€ ์ฝ”๋“œ์™€๋„ ์—ฐ๊ด€์ด ์žˆ๋Š” ๊ฒƒ ๊ฐ™๋‹ค.

p12 - p13. ๊นจ๋—ํ•œ ์ฝ”๋“œ๋Š” ์ฃผ์˜ ๊นŠ๊ฒŒ ์ž‘์„ฑํ•œ ์ฝ”๋“œ๋‹ค. ๋ˆ„๊ตฐ๊ฐ€ ์‹œ๊ฐ„์„ ๋“ค์—ฌ ๊น”๋”ํ•˜๊ณ  ๋‹จ์ •ํ•˜๊ฒŒ ์ •๋ฆฌํ•œ ์ฝ”๋“œ๋‹ค. ์ž์„ธํ•œ ์‚ฌํ•ญ๊นŒ์ง€ ๊ผผ๊ผผํ•˜๊ฒŒ ์‹ ๊ฒฝ ์“ด ์ฝ”๋“œ๋‹ค. ์ฃผ์˜๋ฅผ ๊ธฐ์šธ์ธ ์ฝ”๋“œ๋‹ค. ๐Ÿง

  • ํŽญ๊ท„: ์‹ ์ž… ๊ฐœ๋ฐœ์žํ•œํ…Œ๋Š” ๊น”๋”ํ•˜๊ณ  ์ •๋ฆฌํ•œ ์ฝ”๋“œ๋ฅผ ๊ณ ๋ฏผํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค๋Š” โ€œ๋‚ด๊ฐ€ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์„๊นŒ?โ€๋ฅผ ๋จผ์ € ์ƒ๊ฐํ•˜๊ฒŒ ๋˜๋Š” ๊ฒƒ ๊ฐ™๋‹ค.

p13 - p14. ์ผ„ํŠธ ๋ฐฑ์ด ์ œ์•ˆํ•œ ๋‹จ์ˆœํ•œ ์ฝ”๋“œ ๊ทœ์น™์œผ๋กœ ๊ตฌํ˜„์„ ์‹œ์ž‘ํ•œ๋‹ค. โ€ฆ ๋ชจ๋“  ํ…Œ์ŠคํŠธ๋ฅผ ํ†ต๊ณผํ•œ๋‹ค. ๐Ÿ™‚

  • ํ›„๋ฏธ: ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋ž‘ ๋‹จ์ˆœํ•œ ์ฝ”๋“œ๋ž‘ ์—ฐ๊ด€์ด ์žˆ๋‚˜? ๋‹จ์ˆœํ•œ์ด ์ฝ”๋“œ๊ฐ€ ์•„๋‹Œ ์ฝ”๋“œ ๊ทœ์น™์„ ์ˆ˜์‹ํ•œ๋‹ค.

p14. ์ค‘๋ณต ์ค„์ด๊ธฐ, ํ‘œํ˜„๋ ฅ ๋†’์ด๊ธฐ, ์ดˆ๋ฐ˜๋ถ€ํ„ฐ ๊ฐ„๋‹จํ•œ ์ถ”์ƒํ™” ๊ณ ๋ คํ•˜๊ธฐ. ๐Ÿง

  • ์ƒ๋ฆฌ: ํ‘œํ˜„๋ ฅ์„ ๋†’์ธ๋‹ค๋Š” ๊ฒƒ์˜ ์˜๋ฏธ๋Š” ํ”„๋กœ๊ทธ๋žจ ์š”๊ตฌ์‚ฌํ•ญ์„ ์ž˜ ๋ฐ˜์˜ํ•œ๋‹ค๋Š” ๊ฒƒ์ผ์ง€๋„

p15. ์ฝ”๋“œ๋ฅผ ์ฝ์œผ๋ฉด์„œ ์ง์ž‘ํ–ˆ๋˜ ๊ธฐ๋Šฅ์„ ๊ฐ ๋ฃจํ‹ด์ด ์ˆ˜ํ–‰ํ•œ๋‹ค๋ฉด ๊นจ๋—ํ•œ ์ฝ”๋“œ๋ผ ๋ถˆ๋Ÿฌ๋„ ๋˜๊ฒ ๋‹ค. ๐Ÿ‹

p18. ์ฝ”๋“œ๋ฅผ ์ฝ๋Š” ์‹œ๊ฐ„ ๋Œ€ ์ฝ”๋“œ๋ฅผ ์งœ๋Š” ์‹œ๊ฐ„ ๋น„์œจ์ด 10๋Œ€ 1์„ ํ›Œ์ฉ ๋„˜๋Š”๋‹ค. ์ƒˆ ์ฝ”๋“œ๋ฅผ ์งœ๋ฉด์„œ ์šฐ๋ฆฌ๋Š” ๋Š์ž„์—†์ด ๊ธฐ์กด ์ฝ”๋“œ๋ฅผ ์ฝ๋Š”๋‹ค. ๐ŸŒต๐Ÿง๐Ÿ™‚๐Ÿ‹

โฌ†๏ธ ์œ„๋กœ ์ด๋™


2์žฅ. ์˜๋ฏธ ์žˆ๋Š” ์ด๋ฆ„

p23. ๊ฐ ๊ฐœ๋…์— ์ด๋ฆ„๋งŒ ๋ถ™์—ฌ๋„ ์ฝ”๋“œ๊ฐ€ ์ƒ๋‹นํžˆ ๋‚˜์•„์ง„๋‹ค. ๐ŸŒต๐Ÿง

  • ํŠœ๋ธŒ: 2์žฅ์„ ์š”์•ฝํ•˜๋Š” ํ•œ ๋งˆ๋”” ๊ฐ™๋‹ค.

p25. ์ปดํŒŒ์ผ๋Ÿฌ๋‚˜ ์ธํ„ฐํ”„๋ฆฌํ„ฐ๋งŒ ํ†ต๊ณผํ•˜๋ ค๋Š” ์ƒ๊ฐ์œผ๋กœ ์ฝ”๋“œ๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋จธ๋Š” ์Šค์Šค๋กœ ๋ฌธ์ œ๋ฅผ ์ผ์œผํ‚จ๋‹ค. ๐Ÿ‹๐ŸŒต

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

p25. ์ผ๊ด€์„ฑ์ด ๋–จ์–ด์ง€๋Š” ํ‘œ๊ธฐ๋ฒ•์€ ๊ทธ๋ฆ‡๋œ ์ •๋ณด๋‹ค. ๐Ÿ™‚๐Ÿง

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

p26. ๋ถˆ์šฉ์–ด๋ฅผ ์ถ”๊ฐ€ํ•œ ์ด๋ฆ„ ์—ญ์‹œ ์•„๋ฌด๋Ÿฐ ์ •๋ณด๋„ ์ œ๊ณตํ•˜์ง€ ๋ชปํ•œ๋‹ค. ... ๋ถˆ์šฉ์–ด๋Š” ์ค‘๋ณต์ด๋‹ค.(a, an, the, variable) ๐Ÿ‹

  • ์ƒ๋ฆฌ: 1ํ•™๋…„ ๋•Œ, ์‹œํ—˜ ๋•Œ ๋ณ€์ˆ˜ ์ด๋ฆ„์œผ๋กœ ์˜ˆ์•ฝ์–ด๋ฅผ ์จ์„œ ๊ฐ์ ๋œ ๊ฒฝํ—˜์ด ์žˆ๋‹ค.

p27. ์ฝ๋Š” ์‚ฌ๋žŒ์ด ์ฐจ์ด๋ฅผ ์•Œ๋„๋ก ์ด๋ฆ„์„ ์ง€์–ด๋ผ. ๐Ÿ™‚๐ŸŒต

  • ํ›„๋ฏธ: ์ฝ๋Š” ์‚ฌ๋žŒ์„ ์œ„ํ•œ ์ฝ”๋“œ๋ฅผ ์งœ์žโ€ฆ ๋‚˜์ค‘์—๋Š” ๋‚ด๊ฐ€ ์ฝ๋Š” ์‚ฌ๋žŒ์ด ๋œ๋‹ค.

p28. ๊ฒ€์ƒ‰์€ ๋˜์—ˆ์ง€๋งŒ, 7์„ ์‚ฌ์šฉํ•œ ์˜๋„๊ฐ€ ๋‹ค๋ฅธ ๊ฒฝ์šฐ๋„ ์žˆ๋‹ค. ์ƒ์ˆ˜๊ฐ€ ์—ฌ๋Ÿฌ ์ˆซ์ž์ด๊ณ  ๋ˆ„๊ตฐ๊ฐ€ ์ƒ์ˆ˜ ๋‚ด ์ˆซ์ž ์œ„์น˜๋ฅผ ๋ฐ”๊ฟจ๋‹ค๋ฉด ๋ฌธ์ œ๋Š” ๋”์šฑ ์‹ฌ๊ฐํ•ด์ง„๋‹ค. ์ƒ์ˆ˜์— ๋ฒ„๊ทธ๊ฐ€ ์žˆ์œผ๋‚˜ ๊ฒ€์ƒ‰์œผ๋กœ ์ฐพ์•„๋‚ด์ง€ ๋ชปํ•œ๋‹ค. ๐Ÿง๐Ÿ™‚

  • ํŽญ๊ท„: ๋ฆฌํ„ฐ๋Ÿด์„ ์“ฐ๋Š” ๊ฒƒ๋ณด๋‹ค๋Š” ์ƒ์ˆ˜๋กœ ์ •์˜ํ•ด๋†“๊ณ  ์“ฐ๋Š” ์ด์œ .

p35. addr๋ผ๋Š” ์ ‘๋‘์–ด๋ฅผ ์ถ”๊ฐ€ํ•ด addrFirstName, addrLastName, addrState๋ผ ์“ฐ๋ฉด ๋งฅ๋ฝ์ด ์ข€ ๋” ๋ถ„๋ช…ํ•ด์ง„๋‹ค. ๋ณ€์ˆ˜๊ฐ€ ์ข€ ๋” ํฐ ๊ตฌ์กฐ์— ์†ํ•œ๋‹ค๋Š” ์‚ฌ์‹ค์ด ์ ์–ด๋„ ๋…์ž์—๊ฒŒ๋Š” ๋ถ„๋ช…ํ•ด์ง„๋‹ค. ๐Ÿง

p37. ์ผ๋ฐ˜์ ์œผ๋กœ ์งง์€ ์ด๋ฆ„์ด ๊ธด ์ด๋ฆ„๋ณด๋‹ค ์ข‹๋‹ค. ๋‹จ, ์˜๋ฏธ๊ฐ€ ๋ถ„๋ช…ํ•œ ๊ฒฝ์šฐ์— ํ•œํ•ด์„œ๋‹ค. ์ด๋ฆ„์— ๋ถˆํ•„์š”ํ•œ ๋งฅ๋ฝ์„ ์ถ”๊ฐ€ํ•˜์ง€ ์•Š๋„๋ก ์ฃผ์˜ํ•œ๋‹ค. ๐Ÿง

  • ํŽญ๊ท„: ํ•„์š”ํ•œ ๋งฅ๋ฝ๊ณผ ๋ถˆํ•„์š”ํ•œ ๋งฅ๋ฝ ๊ทธ ์ค‘๊ฐ„์„ ์ฐพ๊ธฐ๊ฐ€ ์–ด๋ ค์šด ๊ฒƒ ๊ฐ™๋‹ค.

p38. ์‚ฌ๋žŒ๋“ค์ด ์ด๋ฆ„์„ ๋ฐ”๊พธ์ง€ ์•Š์œผ๋ ค๋Š” ์ด์œ  ํ•˜๋‚˜๋Š” ๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ฐ˜๋Œ€ํ• ๊นŒ ๋‘๋ ค์›Œ์„œ๋‹ค. ์˜คํžˆ๋ ค (์ข‹์€ ์ด๋ฆ„์œผ๋กœ ๋ฐ”๊ฟ”์ฃผ๋ฉด) ๋ฐ˜๊ฐ‘๊ณ  ๊ณ ๋ง™๋‹ค. ์šฐ๋ฆฌ๋“ค ๋Œ€๋‹ค์ˆ˜๋Š” ์ž์‹ ์ด ์ง  ํด๋ž˜์Šค ์ด๋ฆ„๊ณผ ๋งค์„œ๋“œ ์ด๋ฆ„์„ ๋ชจ๋‘ ์•”๊ธฐํ•˜์ง€ ๋ชปํ•œ๋‹ค. ๐ŸŒต

p38. ์—ฌ๋Š ์ฝ”๋“œ ๊ฐœ์„  ๋…ธ๋ ฅ๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ด๋ฆ„ ์—ญ์‹œ ๋‚˜๋ฆ„๋Œ€๋กœ ๋ฐ”๊ฟจ๋‹ค๊ฐ€๋Š” ๋ˆ„๊ตฐ๊ฐ€ ์งˆ์ฑ…ํ• ์ง€๋„ ๋ชจ๋ฅธ๋‹ค. ๊ทธ๋ ‡๋‹ค๊ณ  ์ฝ”๋“œ๋ฅผ ๊ฐœ์„ ํ•˜๋ ค๋Š” ๋…ธ๋ ฅ์„ ์ค‘๋‹จํ•ด์„œ๋Š” ์•ˆ ๋œ๋‹ค. ๐ŸŒต๐Ÿ‹

โœ… ์š”์•ฝ

  1. ๋ณ€์ˆ˜๋ช…์€ ๊ผญ ํ•„์š”ํ•œ ์ •๋ณด๋งŒ ๋„ฃ์–ด ๊ฐ„๋‹จ๋ช…๋ฃŒํ•˜๊ฒŒ ์ง“๋Š”๋‹ค.(ex. ๋ถˆ์šฉ์–ด ์ œ๊ฑฐ, ์ผ๊ด€์„ฑ ์žˆ๋Š” ์ด๋ฆ„, IDE ๊ฒ€์ƒ‰์ด ํŽธํ•˜๊ฒŒ)
  2. ๋™์ผํ•œ ๋งฅ๋ฝ์—์„œ ํ•œ ๊ฐœ๋…์— ํ•œ ๋‹จ์–ด๋ฅผ ์‚ฌ์šฉํ•˜์ž. ๋‹ค๋ฅธ ๋งฅ๋ฝ์ด๋ผ๋ฉด, ๋‹จ์–ด๋ฅผ ๊ตฌ๋ถ„ํ•˜์—ฌ ์“ฐ์ž.
  3. ๋ณ€์ˆ˜๋ช…์„ ์ง€์„ ๋•Œ ์šฐ์„ ์ˆœ์œ„๋Š” ๊ฐœ๋ฐœ์ž ์šฉ์–ด, ๊ทธ ๋‹ค์Œ์€ ๋„๋ฉ”์ธ์ด๋‹ค.
  4. ์ถ”๋ก ํ•˜๊ธฐ ํž˜๋“  ๋ณ€์ˆ˜๋Š” ๋งฅ๋ฝ์„ ์ถ”๊ฐ€ํ•˜๋˜, ๋ˆ„๊ตฌ๋‚˜ ์œ ์ถ”๊ฐ€๋Šฅํ•œ ๋งฅ๋ฝ์€ ๋„ฃ์ง€ ๋ง์ž.

โฌ†๏ธ ์œ„๋กœ ์ด๋™


3์žฅ. ํ•จ์ˆ˜

p43. ๊ฐ ํ•จ์ˆ˜๊ฐ€ ์ด์•ผ๊ธฐ ํ•˜๋‚˜ ๐Ÿ™‚

p43. ํ•จ์ˆ˜๊ฐ€ ์–ผ๋งˆ๋‚˜ ์งง์•„์•ผ ํ•˜๋Š๋ƒ๊ณ ? ์ผ๋ฐ˜์ ์œผ๋กœ ๋ชฉ๋ก 3-2๋ณด๋‹ค ์งง์•„์•ผ ํ•œ๋‹ค! ์‚ฌ์‹ค ๋ชฉ๋ก 3-2๋Š” ๋ชฉ๋ก 3-3์œผ๋กœ ์ค„์—ฌ์•ผ ๋งˆ๋•…ํ•˜๋‹ค. (3-2๋Š” 14์ค„, 3-3์€ 6์ค„..) ๐ŸŒต

  • ํŠœ๋ธŒ: ์ •๋ง 14์ค„์ด ๊ธธ๋‹ค๊ณ ?
  • ์ƒ๋ฆฌ: ๋‚ด ์ฝ”๋“œ๋ฅผ ๋Œ์•„๋ณด๋ฉด, 3-2๋„ ์•„๋‹Œ, 3-1 ์ˆ˜์ค€์˜ ์ฝ”๋“œ์˜€๋˜ ๊ฒƒ์„ ๋ฐ˜์„ฑํ•œ๋‹ค.
  • ํ›„๋ฏธ: ์ด ์ •๋„๋กœ ์งง๊ฒŒ ํ•จ์ˆ˜๋ฅผ ์งค ์ˆ˜ ์žˆ์„๊นŒโ€ฆ

p44. ํ•จ์ˆ˜๋Š” ํ•œ ๊ฐ€์ง€๋ฅผ ํ•ด์•ผ ํ•œ๋‹ค. ๊ทธ ํ•œ ๊ฐ€์ง€๋ฅผ ์ž˜ ํ•ด์•ผ ํ•œ๋‹ค. ๊ทธ ํ•œ ๊ฐ€์ง€๋งŒ์„ ํ•ด์•ผ ํ•œ๋‹ค. ๐Ÿ‹๐Ÿ™‚

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

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

  • ์ƒ๋ฆฌ: ์ฝ”๋“œ๋ฅผ ์ฝ์„ ๋•Œ, ์ด์•ผ๊ธฐ์˜ ํ๋ฆ„์„ ์„œ์ˆ ์‹์œผ๋กœ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๋‹ค๋ฉด ๋น„์Šทํ•œ ์ถ”์ƒํ™” ๋‹จ๊ณ„๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ์ง€ ์•Š์„๊นŒ? (๋งŒ์•ฝ A๋ผ๋ฉด, b, c, d๋ฅผ ํ•˜๋ผ โ†’ ๋งŒ์•ฝ A๋ผ๋ฉด, B๋ฅผ ํ•ด๋ผ. B๋Š” b, c, d๋กœ ๊ตฌ์„ฑ๋˜์–ด์žˆ๋‹ค. / A,B๋Š” ์‚ฌ๋žŒ์ด ์•Œ์•„๋“ค์„ ์ˆ˜ ์žˆ๋Š” ๋ง. b,c,d๋Š” ๊ธฐ๋Šฅ์  ์ด๋ฆ„)
  • ํŠœ๋ธŒ: ํ•จ์ˆ˜ ์ด๋ฆ„๊ณผ ์—ญํ• ์„ โ€˜์ถ”์ƒํ™” ์ˆ˜์ค€โ€™๊ณผ ์ผ์น˜์‹œํ‚จ๋‹ค๊ณ  ํ•ด์„ํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™๋‹ค.

p45. ํ•จ์ˆ˜๊ฐ€ 'ํ•œ ๊ฐ€์ง€'๋งŒ ํ•˜๋Š”์ง€ ํŒ๋‹จํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ํ•˜๋‚˜ ๋” ์žˆ๋‹ค. ๋‹จ์ˆœํžˆ ๋‹ค๋ฅธ ํ‘œํ˜„์ด ์•„๋‹ˆ๋ผ ์˜๋ฏธ ์žˆ๋Š” ์ด๋ฆ„์œผ๋กœ ๋‹ค๋ฅธ ํ•จ์ˆ˜๋ฅผ ์ถ”์ถœํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ๊ทธ ํ•จ์ˆ˜๋Š” ์—ฌ๋Ÿฌ ์ž‘์—…์„ ํ•˜๋Š” ์…ˆ์ด๋‹ค. ๐ŸŒต๐Ÿ‹

  • ์ƒ๋ฆฌ: ์ด๊ฑด ์ €์ž์˜ ์ƒ๊ฐ์ผ ๋ฟ, ์šฐ๋ฆฌ๋Š” ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋งŒํผ๋งŒ ๋ฐ›์•„๋“ค์ด๋ฉด ๋  ๊ฒƒ ๊ฐ™๋‹ค!

p46. ์ฝ”๋“œ๋Š” ์œ„์—์„œ ์•„๋ž˜๋กœ ์ด์•ผ๊ธฐ์ฒ˜๋Ÿผ ์ฝํ˜€์•ผ ์ข‹๋‹ค. ๐Ÿ‹

  • ํŠœ๋ธŒ: ์˜ˆ์ œ 3-2 โ†’ 3-3 ์—์„œ๋„

p46. ํ•œ ํ•จ์ˆ˜๋‚ด์— ์ถ”์ƒํ™” ์ˆ˜์ค€์„ ์„ž์œผ๋ฉด ์ฝ”๋“œ๋ฅผ ์ฝ๋Š” ์‚ฌ๋žŒ์ด ํ—ท๊ฐˆ๋ฆฐ๋‹ค. ๐Ÿ™‚

p49. ๊ธธ๊ณ  ์„œ์ˆ ์ ์ธ ์ด๋ฆ„์ด ์งง๊ณ  ์–ด๋ ค์šด ์ด๋ฆ„๋ณด๋‹ค ์ข‹๋‹ค. ๊ธธ๊ณ  ์„œ์ˆ ์ ์ธ ์ด๋ฆ„์ด ๊ธธ๊ณ  ์„œ์ˆ ์ ์ธ ์ฃผ์„๋ณด๋‹ค ์ข‹๋‹ค. ๐Ÿ‹๐ŸŒต

  • ์ƒ๋ฆฌ: ์œ ๋ช…ํ•˜๊ณ  ์ž˜ ์งœ์ธ ์˜คํ”ˆ์†Œ์Šค์—์„œ ๋‚ด ํ•จ์ˆ˜์˜ ์ด๋ฆ„๊ณผ ๊ตฌ์„ฑ์„ ์ฐธ๊ณ ํ•  ์ˆ˜ ์žˆ๊ฒ ๋‹ค!

p49. ํ•จ์ˆ˜๊ฐ€ ์ž‘๊ณ  ๋‹จ์ˆœ ํ•  ์ˆ˜๋ก ์„œ์ˆ ์ ์ธ ์ด๋ฆ„์„ ๊ณ ๋ฅด๊ธฐ ์‰ฌ์›Œ์ง„๋‹ค. ๐Ÿ™‚๐ŸŒต๐Ÿ‹

  • ํ›„๋ฏธ : ํ•จ์ˆ˜๋ฅผ ์งง๊ฒŒ ์งœ๋ผ๋Š” ๋ฆฌ๋งˆ์ธ๋“œ!!
  • ํŠœ๋ธŒ : ๊ฑฐ๊พธ๋กœ โ€˜์ข‹์€ ํ•จ์ˆ˜ ์ด๋ฆ„์„ ์ง“๋‹ค ๋ณด๋ฉด ๊ฐ„๊ฒฐํ•œ ํ•จ์ˆ˜๋ฅผ ์งค ์ˆ˜ ์žˆ๋‹คโ€™๋Š” ์˜๋ฏธ๋กœ ๋ณผ ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™๋‹ค.

p50. ํ•จ์ˆ˜์—์„œ ์ด์ƒ์ ์ธ ์ธ์ˆ˜ ๊ฐœ์ˆ˜๋Š” 0๊ฐœ(๋ฌดํ•ญ)๋‹ค. ๐Ÿ‹๐ŸŒต

  • ์ƒ๋ฆฌ: ๋ถ€์ŠคํŠธ์บ ํ”„ ํ•  ๋•Œ, yaml ํŒŒ์ผ์„ ์ผ๋˜ ๊ธฐ์–ต์ด ๋‚œ๋‹ค.

p50. 4๊ฐœ ์ด์ƒ์€ ํŠน๋ณ„ํ•œ ์ด์œ ๊ฐ€ ํ•„์š”ํ•˜๋‹ค. ํŠน๋ณ„ํ•œ ์ด์œ ๊ฐ€ ์žˆ์–ด๋„ ์‚ฌ์šฉํ•˜๋ฉด ์•ˆ ๋œ๋‹ค. ๐ŸŒต

  • ์ƒ๋ฆฌ: 53ํŽ˜์ด์ง€์— ์ธ์ˆ˜๊ฐ์ฒด ์˜ˆ์ œ๊ฐ€ ์ ์ ˆํ•œ ๊ฒƒ ๊ฐ™๋‹ค.
  • ํŠœ๋ธŒ: ์กฐ๊ธˆ ๊ฐ€ํ˜นํ•œ ๊ฒƒ ๊ฐ™๊ธฐ๋„ ํ•˜๋‹ค. ํŒŒ์ด์ฌ ํ•จ์ˆ˜ ์ƒ๊ฐํ•˜๋ฉด ์˜ˆ์™ธ๋„ ์žˆ๋Š” ๊ฒƒ ๊ฐ™๋‹ค.

p50. ์ถœ๋ ฅ ์ธ์ˆ˜๋Š” ์ž…๋ ฅ ์ธ์ˆ˜๋ณด๋‹ค ์ดํ•ดํ•˜๊ธฐ ์–ด๋ ต๋‹ค. ๐Ÿ‹

  • ์ƒ๋ฆฌ: ์ฝ”๋“œ์— ์ถœ๋ ฅ์ธ์ˆ˜๋ฅผ ํ‘œํ˜„ํ•ด๋†“๊ธฐ๋ž€ ์‰ฝ์ง€ ์•Š๋‹ค!

p52. ํ”Œ๋ž˜๊ทธ ์ธ์ˆ˜๋Š” ์ถ”ํ•˜๋‹ค. ํ•จ์ˆ˜๋กœ ๋ถ€์šธ ๊ฐ’์„ ๋„˜๊ธฐ๋Š” ๊ด€๋ก€๋Š” ์ •๋ง๋กœ ๋”์ฐํ•˜๋‹ค. ๐ŸŒต

p54. ํ•จ์ˆ˜์— ์ธ์ˆ˜ ์ด๋ฆ„์„ ๋„ฃ๋Š”๋‹ค. ๐Ÿ™‚

  • ํ›„๋ฏธ : ํ•จ์ˆ˜๋ช…์„ assertEquals ๋ณด๋‹ค assertExpectedEqualsActual์œผ๋กœ ์“ฐ๋ฉด ์–ด๋–ค ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ง€์™€ ๋ณ€์ˆ˜ ์œ„์น˜๋ฅผ ์‰ฝ๊ฒŒ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

p57. ๋ช…๋ น๊ณผ ์กฐํšŒ๋ฅผ ๋ถ„๋ฆฌํ•ด ํ˜ผ๋ž€์„ ๋ฝ‘๋Š”๋‹ค. ๐Ÿ™‚๐ŸŒต๐Ÿ‹

p59. ์ •์ƒ ๋™์ž‘๊ณผ ์˜ค๋ฅ˜ ์ฒ˜๋ฆฌ ๋™์ž‘์„ ๋ถ„๋ฆฌํ•˜๋ฉด ์ฝ”๋“œ๋ฅผ ์ดํ•ดํ•˜๊ณ  ์ˆ˜์ •ํ•˜๊ธฐ ์‰ฌ์›Œ์ง„๋‹ค. ๐Ÿ™‚๐Ÿ‹๐ŸŒต

  • ์ƒ๋ฆฌ: if ๋ฌธ๊ณผ try-catch์˜ ๋งฅ๋ฝ์˜ ์ฐจ์ด๊ฐ€ ๋ถ„๋ช… ์กด์žฌํ•œ๋‹ค!

p60. ์ค‘๋ณต์€ ๋ฌธ์ œ๋‹ค. ์ฝ”๋“œ ๊ธธ์ด๊ฐ€ ๋Š˜์–ด๋‚  ๋ฟ ์•„๋‹ˆ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๋ณ€ํ•˜๋ฉด ๋„ค ๊ณณ์ด๋‚˜ ์†๋ด์•ผ ํ•˜๋‹ˆ๊นŒ. ๐Ÿ‹

p61. ํ•จ์ˆ˜๋Š” return ๋ฌธ์ด ํ•˜๋‚˜์—ฌ์•ผ ํ•œ๋‹ค๋Š” ๋ง์ด๋‹ค. ๋ฃจํ”„ ์•ˆ์—์„œ break๋‚˜ continue๋ฅผ ์‚ฌ์šฉํ•ด์„  ์•ˆ๋˜๋ฉฐ goto๋Š” ์ ˆ๋Œ€๋กœ, ์ ˆ๋Œ€๋กœ ์•ˆ ๋œ๋‹ค. โ€ฆ ํ•จ์ˆ˜๋ฅผ ์ž‘๊ฒŒ ๋งŒ๋“ ๋‹ค๋ฉด ๊ฐ„ํ˜น return, break, continue๋ฅผ ์—ฌ๋Ÿฌ ์ฐจ๋ก€ ์‚ฌ์šฉํ•ด๋„ ๊ดœ์ฐฎ๋‹ค. ์˜คํžˆ๋ ค ๋•Œ๋กœ๋Š” ๋‹จ์ผ ์ž…/์ถœ๊ตฌ ๊ทœ์น™๋ณด๋‹ค ์˜๋„๋ฅผ ํ‘œํ˜„ํ•˜๊ธฐ ์‰ฌ์›Œ์ง„๋‹ค. ๐ŸŒต๐Ÿ‹

โœ… ์š”์•ฝ

  1. ์ž‘๊ฒŒ ๋งŒ๋“ค์–ด๋ผ! ํ•œ ๊ฐ€์ง€๋งŒ ํ•ด๋ผ! ํ•จ์ˆ˜ ๋‹น ์ถ”์ƒํ™” ์ˆ˜์ค€์€ ํ•˜๋‚˜๋กœ!
  2. ์„œ์ˆ ์ ์ธ ์ด๋ฆ„์„ ์‚ฌ์šฉํ•˜๋ผ!
  3. ๋ถ€์ˆ˜ ํšจ๊ณผ๋ฅผ ์ผ์œผํ‚ค์ง€ ๋งˆ๋ผ!
  4. ๋ช…๋ น๊ณผ ์กฐํšŒ๋ฅผ ๋ถ„๋ฆฌํ•˜๋ผ!
  5. ์˜ค๋ฅ˜ ์ฝ”๋“œ๋ณด๋‹ค ์˜ˆ์™ธ๋ฅผ ์‚ฌ์šฉํ•˜๋ผ!
  6. ๋ฐ˜๋ณตํ•˜์ง€ ๋งˆ๋ผ!

โฌ†๏ธ ์œ„๋กœ ์ด๋™


4์žฅ. ์ฃผ์„

p68. ์‚ฌ์‹ค์ƒ ์ฃผ์„์€ ๊ธฐ๊ปํ•ด์•ผ ํ•„์š”์•…์ด๋‹ค. ๐ŸŒต

  • ํŠœ๋ธŒ : ์กฐ๊ธˆ ๊ณผ์žฅ๋œ ํ‘œํ˜„์ธ ๊ฒƒ ๊ฐ™๊ธด ํ•˜์ง€๋งŒ, 4์žฅ์„ ์š”์•ฝํ•˜๋Š” ํ•œ ์ค„์ธ ๋“ฏ

p68. ์šฐ๋ฆฌ๋Š” ์ฝ”๋“œ๋กœ ์˜๋„๋ฅผ ํ‘œํ˜„ํ•˜์ง€ ๋ชปํ•ด, ๊ทธ๋Ÿฌ๋‹ˆ๊นŒ ์‹คํŒจ๋ฅผ ๋งŒํšŒํ•˜๊ธฐ ์œ„ํ•ด ์ฃผ์„์„ ์‚ฌ์šฉํ•œ๋‹ค. ๐Ÿ™‚๐ŸŒต

  • ํ›„๋ฏธ: ์ฐ”๋ฆฌ์ง€๋งŒ ์–ต์šธํ•˜๋‹ค..
  • ํŽญ๊ท„: ์ €์ž์˜ ์ƒ๊ฐ์ด ๋‹ค์†Œ ๊ทน๋‹จ์ ์ธ ๊ฒƒ ๊ฐ™๋‹ค..

p68. ๊ทธ๋Ÿฌ๋ฏ€๋กœ ์ฃผ์„์ด ํ•„์š”ํ•œ ์ƒํ™ฉ์— ์ฒ˜ํ•˜๋ฉด ๊ณฐ๊ณฐ์ด ์ƒ๊ฐํ•˜๊ธฐ ๋ฐ”๋ž€๋‹ค. ์ƒํ™ฉ์„ ์—ญ์ „ํ•ด ์ฝ”๋“œ๋กœ ์˜๋„๋ฅผ ํ‘œํ˜„ํ•  ๋ฐฉ๋ฒ•์€ ์—†์„๊นŒ? ์ฝ”๋“œ๋กœ ์˜๋„๋ฅผ ํ‘œํ˜„ํ•  ๋•Œ๋งˆ๋‹ค ์Šค์Šค๋กœ๋ฅผ ์นญ์ฐฌํ•ด์ค€๋‹ค. ๐Ÿง

  • ํŽญ๊ท„: ๋ณดํ†ต ์ฃผ์„์€ ๋‚ด ์ฝ”๋“œ์— ์„ค๋ช…์— ํ•„์š”ํ•˜๋‹ค ์ƒ๊ฐํ•ด ๋‹ฌ์•˜๋Š”๋ฐ, ์ด๋Ÿฐ ํƒœ๋„๋ณด๋‹ค๋Š” ๋” ๊น”๋”ํ•œ ์ฝ”๋“œ๋ฅผ ์งœ๋„๋ก ๋…ธ๋ ฅํ•ด์•ผ๊ฒ ๋‹ค.

p68. ์ฃผ์„์€ ์˜ค๋ž˜๋ ์ˆ˜๋ก ์ฝ”๋“œ์—์„œ ๋ฉ€์–ด์ง„๋‹ค. ์˜ค๋ž˜๋ ์ˆ˜๋ก ์™„์ „ํžˆ ๊ทธ๋ฆ‡๋  ๊ฐ€๋Šฅ์„ฑ๋„ ์ปค์ง„๋‹ค. ๐Ÿ‹๐ŸŒต

  • ์ƒ๋ฆฌ: ํŠนํžˆ ์ƒ๊ธ‰์ž/ํƒ€์ธ์˜ ์ฝ”๋“œ/์ฃผ์„์„ ๊ณ ์น˜๊ธฐ๋ž€โ€ฆ๋ถ€๋‹ด์Šค๋Ÿฝ๋‹ค. ์‹œ๊ฐ„์ด ์ง€๋‚˜๋ฉฐ ํ‹€๋ฆฌ๊ฒŒ ๋œ ์ •๋ณด๋ฅผ ํฌํ•จํ•˜๋”๋ผ๋„ ๊ทธ๋ƒฅ ์ง€๋‚˜์น˜๊ฒŒ ๋˜๋Š” ๊ฒƒ ๊ฐ™๋‹ค.
  • ํŠœ๋ธŒ: ๋ฆฌํŒฉํ† ๋ง ํ• ๋•Œ๋„ ์ผ์ด ๋Š˜์–ด๋‚  ์ˆ˜๋„ ์žˆ์„ ๊ฒƒ ๊ฐ™๋‹ค.

p73. ์ฃผ์„์ด ์˜ฌ๋ฐ”๋ฅธ์ง€ ๊ฒ€์ฆํ•˜๊ธฐ ์‰ฝ์ง€ ์•Š๋‹ค. ์ด๊ฒƒ์ด ์˜๋ฏธ๋ฅผ ๋ช…๋ฃŒํžˆ ๋ฐํžˆ๋Š” ์ฃผ์„์ด ํ•„์š”ํ•œ ์ด์œ ์ธ ๋™์‹œ์— ์ฃผ์„์ด ์œ„ํ—˜ํ•œ ์ด์œ ์ด๊ธฐ๋„ ํ•˜๋‹ค. ๐Ÿง

  • ์ƒ๋ฆฌ: ์ฃผ์„์ด ํ‹€๋ ค๋„ ์ฝ”๋“œ๋Š” ๋Œ์•„๊ฐ€๋‹ˆ๊นŒ, ์ฃผ์„์ด ํ‹€๋ฆฌ๊ฒŒ๋  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒฝ๊ฐ์‹ฌ์„ ๊ฐ€์ ธ์•ผํ•  ๊ฒƒ ๊ฐ™๋‹ค.

p75. ์ฃผ๊ธฐ์ ์œผ๋กœ todo ์ฃผ์„์„ ์ ๊ฒ€ํ•ด ์—†์• ๋ผ. ๐Ÿ™‚๐Ÿ‹๐Ÿง

  • ํ›„๋ฏธ: todo ๋งŽ์ด ์“ฐ๋Š”๋ฐ todo๋ฅผ ์ผ์œผ๋ฉด ๋‚˜์ค‘์— ๊ทธ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๊ณ  todo๋ฅผ ์ง€์šฐ์ž..

p76. ์ดํ•ด๊ฐ€ ์•ˆ ๋˜์–ด ๋‹ค๋ฅธ ๋ชจ๋“ˆ๊นŒ์ง€ ๋’ค์ ธ์•ผ ํ•˜๋Š” ์ฃผ์„์€ ๋…์ž์™€ ์ œ๋Œ€๋กœ ์†Œํ†ตํ•˜์ง€ ๋ชปํ•˜๋Š” ์ฃผ์„์ด๋‹ค. ๐ŸŒต

  • ์ƒ๋ฆฌ: ์–ด์ฐจํ”ผ ์ฝ”๋“œ ๋‹ค ๋“ค์–ด๊ฐ€๋ณด๋Š”๊ฒŒ ๋ง˜ ํŽธํ•˜๋‹ค!

p80. ๋ชจ๋“  ํ•จ์ˆ˜์— Javadocs๋ฅผ ๋‹ฌ๊ฑฐ๋‚˜ ๋ชจ๋“  ๋ณ€์ˆ˜์— ์ฃผ์„์„ ๋‹ฌ์•„์•ผ ํ•œ๋‹ค๋Š” ๊ทœ์น™์€ ์–ด๋ฆฌ์„๊ธฐ ๊ทธ์ง€์—†๋‹ค. ๐ŸŒต

  • ํŠœ๋ธŒ: ์“ฐ๋‹ค ๋ณด๋ฉด ์ •๋ง๋กœ ๋‹ค ์žˆ์–ด์•ผ ํ•˜๋Š”๊ฐ€ ํ•˜๋Š” ์˜๋ฌธ์ด ๋“ค ๋•Œ๊ฐ€ ์žˆ์—ˆ๋‹ค. / ๊ทธ๋Ÿฐ๋ฐ ์“ฐ๋ ค๋ฉด ๋‹ค ์“ฐ๋Š” ๊ฒŒ ๋งž์ง€ ์•Š๋‚˜..?
  • ํŽญ๊ท„: ์š”์ƒˆ IDE๋Š” ๋งˆ์šฐ์Šค ์˜ฌ๋ฆฌ๋ฉด ๋ฐ”๋กœ ํ•จ์ˆ˜ ์„ค๋ช…์„ ๋ณด์—ฌ์ค˜ ๋”ฐ๋กœ ์ฝ”๋“œ๋ฅผ ํƒ€๊ณ  ๋“ค์–ด๊ฐ€์ง€ ์•Š์•„๋„ ๋˜์„œ, ์™ธ๋ถ€์—์„œ ์‚ฌ์šฉํ•˜๋Š” ํ•จ์ˆ˜์˜ ๊ฒฝ์šฐ ์›ฌ๋งŒํ•˜๋ฉด Javadoc์„ ๋‹ฌ๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค. ๐Ÿ™‚

p84. ์ฃผ์„์ด ํ•„์š”ํ•˜์ง€ ์•Š๋„๋ก ์ฝ”๋“œ๋ฅผ ๊ฐœ์„ ํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค. ๐Ÿ™‚

p85. ๋‹ซ๋Š” ๊ด„ํ˜ธ์— ์ฃผ์„์„ ๋‹ฌ์•„์•ผ๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ ๋‹ค๋ฉด ๋Œ€์‹ ์— ํ•จ์ˆ˜๋ฅผ ์ค„์ด๋ ค ์‹œ๋„ํ•˜์ž. ๐Ÿ‹

  • ์ƒ๋ฆฌ: โ€œ3์žฅ ํ•จ์ˆ˜" ๋ถ€๋ถ„๊ณผ๋„ ์—ฐ๊ด€์ด ์žˆ๋Š” ๋ถ€๋ถ„์ธ ๊ฒƒ ๊ฐ™๋‹ค. ๋‹ซ๋Š” ๊ด„ํ˜ธ๊ฐ€ ๋Š˜์–ด๋‚œ๋‹ค๋ฉด, ํ•จ์ˆ˜๋กœ ๋นผ๋Š” ๊ฒƒ๋„ ๋ฐฉ๋ฒ•์ด๋‹ค!

p85. ๋ฐฐ๋„ˆ(์†Œ์Šค ํŒŒ์ผ์—์„œ ํŠน์ • ์œ„์น˜๋ฅผ ํ‘œ์‹œ)๋Š” ๋ฐ˜๋“œ์‹œ ํ•„์š”ํ• ๋•Œ๋งŒ, ์•„์ฃผ ๋“œ๋ฌผ๊ฒŒ ์‚ฌ์šฉํ•˜๋Š” ํŽธ์ด ์ข‹๋‹ค. ๐Ÿ™‚

  • ํ›„๋ฏธ: ๋งž๋Š” ๋ง์ด๋‹ค! ํ•˜์ง€๋งŒ ํ•„์š”ํ•  ๋•Œ๋„ ์žˆ๋Š”๊ฑฐ ๊ฐ™๋‹ค..
  • ํŽญ๊ท„: ๊ฐ•์˜/์‹ค์Šต ์ฝ”๋“œ์—์„œ ์“ฐ์ผ ๋•Œ๋Š” ๊ดœ์ฐฎ์€ ๊ฒƒ ๊ฐ™๊ธฐ๋„ ํ•˜๋‹ค.

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

  • ํŠœ๋ธŒ: ๋งž๋Š” ๋ง์ด๋‹ค. ํ•˜์ง€๋งŒ ์šฉ๊ธฐ๊ฐ€ ํ•„์š”ํ•˜๋‹ค.

p87. ์†Œ์Šค ์ฝ”๋“œ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์ด ์šฐ๋ฆฌ๋ฅผ ๋Œ€์‹ ํ•ด ์ฝ”๋“œ๋ฅผ ๊ธฐ์–ตํ•ด์ค€๋‹ค. ๊ทธ๋ƒฅ ์ฝ”๋“œ๋ฅผ ์‚ญ์ œํ•˜๋ผ. ๐Ÿ‹๐Ÿง

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

p89. ์ฃผ์„๊ณผ ์ฃผ์„์ด ์„ค๋ช…ํ•˜๋Š” ์ฝ”๋“œ๋Š” ๋‘˜ ์‚ฌ์ด ๊ด€๊ณ„๊ฐ€ ๋ช…๋ฐฑํ•ด์•ผ ํ•œ๋‹ค. ... ์ฃผ์„ ์ž์ฒด๊ฐ€ ๋‹ค์‹œ ์„ค๋ช…์„ ์š”๊ตฌํ•˜๋‹ˆ ์•ˆํƒ€๊น๊ธฐ ๊ทธ์ง€์—†๋‹ค. ๐Ÿ‹

p89. ์งง๊ณ  ํ•œ ๊ฐ€์ง€๋งŒ ์ˆ˜ํ–‰ํ•˜๋ฉฐ ์ด๋ฆ„์„ ์ž˜ ๋ถ™์ธ ํ•จ์ˆ˜๊ฐ€ ์ฃผ์„์œผ๋กœ ํ—ค๋”๋ฅผ ์ถ”๊ฐ€ํ•œ ํ•จ์ˆ˜๋ณด๋‹ค ์ข‹๋‹ค. ๐Ÿ‹

โœ… ์š”์•ฝ

  1. ์ข‹์€ ์ฃผ์„: ๋ฒ•์ ์ธ ์ฃผ์„, ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๋Š” ์ฃผ์„, ์˜๋„๋ฅผ ์„ค๋ช…ํ•˜๋Š” ์ฃผ์„, ์˜๋ฏธ๋ฅผ ๋ช…๋ฃŒํ•˜๊ฒŒ ๋ฐํžˆ๋Š” ์ฃผ์„, ๊ฒฐ๊ณผ๋ฅผ ๊ฒฝ๊ณ ํ•˜๋Š” ์ฃผ์„, TODO ์ฃผ์„, ์ค‘์š”์„ฑ์„ ๊ฐ•์กฐํ•˜๋Š” ์ฃผ์„
  2. ๋‚˜์œ ์ฃผ์„: ์ฃผ์ ˆ๊ฑฐ๋ฆฌ๋Š” ์ฃผ์„, ๊ฐ™์€ ์ด์•ผ๊ธฐ๋ฅผ ์ค‘๋ณตํ•˜๋Š” ์ฃผ์„, ์˜คํ•ดํ•  ์—ฌ์ง€๊ฐ€ ์žˆ๋Š” ์ฃผ์„, ์˜๋ฌด์ ์œผ๋กœ ๋‹ค๋Š” ์ฃผ์„, ์ด๋ ฅ์„ ๊ธฐ๋กํ•˜๋Š” ์ฃผ์„, ์žˆ์œผ๋‚˜ ๋งˆ๋‚˜ ํ•œ ์ฃผ์„, ๋ฌด์„œ์šด ์žก์Œ, ๋‹ซ๋Š” ๊ด„ํ˜ธ์— ๋‹ค๋Š” ์ฃผ์„, ๊ณต๋กœ๋ฅผ ๋Œ๋ฆฌ๊ฑฐ๋‚˜ ์ €์ž๋ฅผ ํ‘œ์‹œํ•˜๋Š” ์ฃผ์„, ์ฃผ์„์œผ๋กœ ์ฒ˜๋ฆฌํ•œ ์ฝ”๋“œ, HTML ์ฃผ์„
  3. ํ•จ์ˆ˜๋‚˜ ๋ณ€์ˆ˜๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ์ฃผ์„์„ ๋‹ฌ์ง€ ๋งˆ๋ผ!

โฌ†๏ธ ์œ„๋กœ ์ด๋™


5์žฅ. ํ˜•์‹ ๋งž์ถ”๊ธฐ

p96. ์ „๋ฌธ๊ฐ€๊ฐ€ ์งฐ๋‹ค๋Š” ์ธ์ƒ์„ ์‹ฌ์–ด์ฃผ๋ฉด ์ข‹๊ฒ ๋‹ค. ๊ทธ ๋Œ€์‹ ์— ์ˆ  ์ทจํ•œ ๋ฑƒ์‚ฌ๋žŒ ํ•œ ๋ฌด๋ฆฌ๊ฐ€ ์งœ๋†“์€ ๋“ฏ ์–ด์ˆ˜์„ ํ•ด ๋ณด์ธ๋‹ค๋ฉด ๋…์ž๋“ค์€ ํ”„๋กœ์ ํŠธ์˜ ๋‹ค๋ฅธ ์ธก๋ฉด๋„ ๋˜‘๊ฐ™์ด ๋ฌด์„ฑ์˜ํ•œ ํƒœ๋„๋กœ ์ฒ˜๋ฆฌํ–ˆ์œผ๋ฆฌ๋ผ ์ƒ๊ฐํ•  ๊ฒƒ์ด๋‹ค. ๐Ÿ‹

  • ์ƒ๋ฆฌ: ๊นจ์ง„ ์œ ๋ฆฌ์ฐฝ ํšจ๊ณผ์ฒ˜๋Ÿผ!

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

  • ์ƒ๋ฆฌ: โ€œ4์žฅ ์ฃผ์„"์—์„œ๋„ ์ด์•ผ๊ธฐ ํ–ˆ๋“ฏ์ด, ์ฒ˜์Œ ์ง  ์ฝ”๋“œ/์ฃผ์„์ด ๋‚˜์ค‘์—๋„ ์˜ํ–ฅ์„ ๋ผ์นœ๋‹ค๋Š” ๊ฒƒ์„ ๊ธฐ์–ตํ•˜์ž!

p98. ๋…์ž๋Š” ์œ„์—์„œ ์•„๋ž˜๋กœ ๊ธฐ์‚ฌ๋ฅผ ์ฝ๋Š”๋‹ค. โ€ฆ ์†Œ์Šค ํŒŒ์ผ๋„ ์‹ ๋ฌธ ๊ธฐ์‚ฌ์™€ ๋น„์Šทํ•˜๊ฒŒ ์ž‘์„ฑํ•œ๋‹ค. ์ด๋ฆ„์€ ๊ฐ„๋‹จํ•˜๋ฉด์„œ๋„ ์„ค๋ช…์ด ๊ฐ€๋Šฅํ•˜๊ฒŒ ์ง“๋Š”๋‹ค. ์ด๋ฆ„๋งŒ ๋ณด๊ณ ๋„ ์˜ฌ๋ฐ”๋ฅธ ๋ชจ๋“ˆ์„ ์‚ดํŽด๋ณด๊ณ  ์žˆ๋Š”์ง€ ์•„๋‹Œ์ง€๋ฅผ ํŒ๋‹จํ•  ์ •๋„๋กœ ์‹ ๊ฒฝ ์จ์„œ ์ง“๋Š”๋‹ค. ์†Œ์Šค ํŒŒ์ผ ์ฒซ ๋ถ€๋ถ„์€ ๊ณ ์ฐจ์› ๊ฐœ๋…๊ณผ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์„ค๋ช…ํ•œ๋‹ค. ์•„๋ž˜๋กœ ๋‚ด๋ ค๊ฐˆ์ˆ˜๋ก ์˜๋„๋ฅผ ์„ธ์„ธํžˆ ๋ฌ˜์‚ฌํ•œ๋‹ค. ๋งˆ์ง€๋ง‰์—๋Š” ๊ฐ€์žฅ ์ €์ฐจ์› ํ•จ์ˆ˜์™€ ์„ธ๋ถ€๋‚ด์—ญ์ด ๋‚˜์˜จ๋‹ค. ๐Ÿ‹๐Ÿง

  • ํŽญ๊ท„: ์ด๋ฒˆ ์žฅ์„ ์š”์•ฝํ•˜๋ฉด ์œ„์™€ ๊ฐ™์ง€ ์•Š์„๊นŒ?
  • ํŠœ๋ธŒ: ์—ฌ์ „ํžˆ ์ด๋ฆ„ ์ง“๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค.

p98 - p100. ๋นˆ ํ–‰์€ ์ƒˆ๋กœ์šด ๊ฐœ๋…์„ ์‹œ์ž‘ํ•œ๋‹ค๋Š” ์‹œ๊ฐ์  ๋‹จ์„œ๋‹ค. โ€ฆ ์„œ๋กœ ๋ฐ€์ ‘ํ•œ ์ฝ”๋“œ ํ–‰์€ ์„ธ๋กœ๋กœ ๊ฐ€๊นŒ์ด ๋†“์•„์•ผ ํ•œ๋‹ค๋Š” ๋œป์ด๋‹ค. ๐Ÿ‹

  • ์ƒ๋ฆฌ: KNN์ด ์ƒ๊ฐ๋‚˜๋Š” ๊ธ€..
  • ํŠœ๋ธŒ: ๋นˆ ํ–‰์„ ์จ์„œ ๊ตฌ๋ถ„ํ•˜๋Š” ๊ฒƒ ์ข‹์ง€๋งŒ, ๋„ˆ๋ฌด ๋งŽ์€ ๋นˆํ–‰์„ ๋‚จ๋ฐœํ•˜๋ฉด ์•ˆ ๋œ๋‹ค. ์ ๋‹นํžˆ ์“ฐ์ž.

p101. ๊ฐ™์€ ํŒŒ์ผ์— ์†ํ•  ์ •๋„๋กœ ๋ฐ€์ ‘ํ•œ ๋‘ ๊ฐœ๋…์€ ์„ธ๋กœ ๊ฑฐ๋ฆฌ๋กœ ์—ฐ๊ด€์„ฑ์„ ํ‘œํ˜„ํ•œ๋‹ค. ์—ฌ๊ธฐ์„œ ์—ฐ๊ด€์„ฑ์ด๋ž€ ํ•œ ๊ฐœ๋…์„ ์ดํ•ดํ•˜๋Š” ๋ฐ ๋‹ค๋ฅธ ๊ฐœ๋…์ด ์ค‘์š”ํ•œ ์ •๋„๋‹ค. ๐ŸŒต๐Ÿง

  • ํŠœ๋ธŒ: โ€˜์—ฐ๊ด€์„ฑโ€™์ด๋ผ๋Š” ํ‘œํ˜„์ด ํ•ต์‹ฌ์„ ์ ์ ˆํžˆ ํ‘œํ˜„ํ•˜๋Š” ๊ฒƒ ๊ฐ™๋‹ค.

p101. ๋ณ€์ˆ˜๋Š” ์‚ฌ์šฉํ•˜๋Š” ์œ„์น˜์— ์ตœ๋Œ€ํ•œ ๊ฐ€๊นŒ์ด ์„ ์–ธํ•œ๋‹ค. ๐Ÿ‹

p104. ํ•œ ํ•จ์ˆ˜๊ฐ€ ๋‹ค๋ฅธ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•œ๋‹ค๋ฉด ๋‘ ํ•จ์ˆ˜๋Š” ์„ธ๋กœ๋กœ ๊ฐ€๊นŒ์ด ๋ฐฐ์น˜ํ•œ๋‹ค. ๋˜ํ•œ ๊ฐ€๋Šฅํ•˜๋‹ค๋ฉด ํ˜ธ์ถœํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœ๋˜๋Š” ํ•จ์ˆ˜๋ณด๋‹ค ๋จผ์ € ๋ฐฐ์น˜ํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ํ”„๋กœ๊ทธ๋žจ์ด ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์ฝํžŒ๋‹ค. ๐Ÿ‹๐Ÿง

  • ์ƒ๋ฆฌ: ์ž์ฃผ ํ˜ธ์ถœํ•˜๋Š” ํ•จ์ˆ˜๋Š” ๋”ฐ๋กœ ํ—ค๋”๋กœ ๋นผ๋Š” ๊ฒƒ๋„ ๊ดœ์ฐฎ์ง€ ์•Š์„๊นŒ?

p106. ์ผ๋ฐ˜์ ์œผ๋กœ ํ•จ์ˆ˜ ํ˜ธ์ถœ ์ข…์†์„ฑ์€ ์•„๋ž˜ ๋ฐฉํ–ฅ์œผ๋กœ ์œ ์ง€ํ•œ๋‹ค. ๐ŸŒต

  • ํŠœ๋ธŒ: ์•„์ง์€ ํ˜ธ์ถœํ•  ํ•จ์ˆ˜๊ฐ€ ์œ„์— ์žˆ๋Š” ๊ฒƒ์ด ์–ด์ƒ‰ํ•˜๊ธฐ๋Š” ํ•˜๋‹ค.

p108. ๊ณต๋ฐฑ์„ ๋„ฃ์œผ๋ฉด ๋‘ ๊ฐ€์ง€ ์ฃผ์š” ์š”์†Œ๊ฐ€ ํ™•์‹คํžˆ ๋‚˜๋‰œ๋‹ค๋Š” ์‚ฌ์‹ค์ด ๋”์šฑ ๋ถ„๋ช…ํ•ด์ง„๋‹ค. ๐Ÿ‹๐ŸŒต

  • ์ƒ๋ฆฌ: ์•ž์„œ ๋งํ–ˆ๋˜๊ฒŒ ์„ธ๋กœ ์—ฐ๊ด€์„ฑ์— ๊ด€๋ จํ•œ ์ด์•ผ๊ธฐ์˜€๋‹ค๋ฉด, ์ด๊ฑด ๊ฐ€๋กœ ์—ฐ๊ด€์„ฑ์— ๊ด€ํ•œ ์ด์•ผ๊ธฐ์ด๋‹ค.
  • ํŠœ๋ธŒ: ์—ฐ์‚ฐ์ž ์šฐ์„ ์ˆœ์œ„๋ฅผ ๊ณต๋ฐฑ์œผ๋กœ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฒƒ์ด ์ธ์ƒ์ ์ด์—ˆ๋‹ค. (๊ทธ๋ž˜๋„ 3*3 + 5๋Š” ์ข€ ๋ถˆํŽธ)

p110. ์„ ์–ธ๋ฌธ๊ณผ ํ• ๋‹น๋ฌธ์„ ๋ณ„๋„๋กœ ์ •๋ ฌํ•˜์ง€ ์•Š๋Š”๋‹ค. ๐Ÿ‹

  • ์ƒ๋ฆฌ: ์˜คํžˆ๋ ค ๊ฐ€๋…์„ฑ์ด ๋–จ์–ด์ง€๊ณ , ํž˜๋“  ์ž‘์—…์ด๋‹ค! ๊ตณ์ด ํ•˜์ง€ ๋ง์ž!

p113. ์ง€๊ธˆ๊นŒ์ง€ ๋‚˜๋Š” while๋ฌธ ๋์— ์„ธ๋ฏธ์ฝœ๋ก (;) ํ•˜๋‚˜๋ฅผ ์‚ด์ง ๋ง๋ถ™์ธ ์ฝ”๋“œ๋กœ ์ˆ˜์—†์ด ๊ณจํƒ•์„ ๋จน์—ˆ๋‹ค. ๐Ÿ‹

  • ์ƒ๋ฆฌ: ๊ผญ ๊ณ ์ˆ˜๋“ค์ด ์ด๋Ÿฌ๋”๋ผ..++a, a++

p114. ํ•œ ์†Œ์Šค ํŒŒ์ผ์—์„œ ๋ดค๋˜ ํ˜•์‹์ด ๋‹ค๋ฅธ ์†Œ์Šค ํŒŒ์ผ์—๋„ ์“ฐ์ด๋ฆฌ๋ผ๋Š” ์‹ ๋ขฐ๊ฐ์„ ๋…์ž์—๊ฒŒ ์ค˜์•ผํ•œ๋‹ค. ๐Ÿ‹๐ŸŒต

โœ… ์š”์•ฝ

  1. ์ ์ ˆํ•œ ํ–‰ ๊ธธ์ด๋ฅผ ์œ ์ง€ํ•˜๋ผ!
  2. ์ฝ”๋“œ๋Š” ๊ธฐ์‚ฌ๋ฅผ ์ฝ๋“ฏ ๋†’์€ ์ถ”์ƒํ™”๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด ๊ฐ ์˜๋„๋ฅผ ์„ค๋ช…ํ•˜๋“ฏ ์งœ์•ผํ•œ๋‹ค.

โฌ†๏ธ ์œ„๋กœ ์ด๋™


6์žฅ. ๊ฐ์ฒด์™€ ์ž๋ฃŒ ๊ตฌ์กฐ

p118 - p119. ์–ด์งธ์„œ ์ˆ˜๋งŽ์€ ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์กฐํšŒ(get)ํ•จ์ˆ˜์™€ ์„ค์ •(set)ํ•จ์ˆ˜๋ฅผ ๋‹น์—ฐํ•˜๊ฒŒ ๊ณต๊ฐœ(public)ํ•ด ๋น„๊ณต๊ฐœ ๋ณ€์ˆ˜๋ฅผ ์™ธ๋ถ€์— ๋…ธ์ถœํ• ๊นŒ? ... ๋ณ€์ˆ˜๋ฅผ private์œผ๋กœ ์„ ์–ธํ•˜๋”๋ผ๋„ ๊ฐ ๊ฐ’๋งˆ๋‹ค ์กฐํšŒ(get)ํ•จ์ˆ˜์™€ ์„ค์ •(set)ํ•จ์ˆ˜๋ฅผ ์ œ๊ณตํ•œ๋‹ค๋ฉด ๊ตฌํ˜„์„ ์™ธ๋ถ€๋กœ ๋…ธ์ถœํ•˜๋Š” ์…ˆ์ด๋‹ค. ๐Ÿ‹

p119. ์ถ”์ƒ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•ด ์‚ฌ์šฉ์ž๊ฐ€ ๊ตฌํ˜„์„ ๋ชจ๋ฅธ ์ฑ„ ์ž๋ฃŒ์˜ ํ•ต์‹ฌ์„ ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ์ง„์ •ํ•œ ์˜๋ฏธ์˜ ํด๋ž˜์Šค๋‹ค. ๐Ÿ‹๐ŸŒต

  • ํŠœ๋ธŒ: ์•ž์—์„œ ๋งํ•œ ์ด๋ฆ„ ์ง“๊ธฐ์˜ ์—ฐ์žฅ์„  + ์ด ์žฅ์˜ ํ•ต์‹ฌ ๋‚ด์šฉ์ธ ๊ฒƒ ๊ฐ™๋‹ค.

p119. ๊ฐ์ฒด๋Š” ์ถ”์ƒํ™” ๋’ค๋กœ ์ž๋ฃŒ๋ฅผ ์ˆจ๊ธด ์ฑ„ ์ž๋ฃŒ๋ฅผ ๋‹ค๋ฃจ๋Š” ํ•จ์ˆ˜๋งŒ ๊ณต๊ฐœํ•œ๋‹ค. ์ž๋ฃŒ ๊ตฌ์กฐ๋Š” ์ž๋ฃŒ๋ฅผ ๊ทธ๋Œ€๋กœ ๊ณต๊ฐœํ•˜๋ฉฐ ๋ณ„๋‹ค๋ฅธ ํ•จ์ˆ˜๋Š” ์ œ๊ณตํ•˜์ง€ ์•Š๋Š”๋‹ค. ๐Ÿ‹

  • ์ƒ๋ฆฌ: ๊ตฌ์กฐ์ฒด(์ž๋ฃŒ๊ตฌ์กฐ)์™€ ํด๋ž˜์Šค(์ถ”์ƒํ™”) ์ด์•ผ๊ธฐ์ธ ๊ฒƒ ๊ฐ™๋‹ค.

p122. ๊ฐ์ฒด ์ง€ํ–ฅ ์ฝ”๋“œ์—์„œ ์–ด๋ ค์šด ๋ณ€๊ฒฝ์€ ์ ˆ์ฐจ์ ์ธ ์ฝ”๋“œ์—์„œ ์‰ฌ์šฐ๋ฉฐ, ์ ˆ์ฐจ์ ์ธ ์ฝ”๋“œ์—์„œ ์–ด๋ ค์šด ๋ณ€๊ฒฝ์€ ๊ฐ์ฒด ์ง€ํ–ฅ ์ฝ”๋“œ์—์„œ ์‰ฝ๋‹ค! ๐Ÿ‹

  • ์ƒ๋ฆฌ: ์ ˆ์ฐจ ์ง€ํ–ฅ ์ฝ”๋“œ๋Š” ์ƒˆ ํ•จ์ˆ˜๋ฅผ ์ถ”๊ฐ€ํ•˜๊ธฐ ์‰ฝ๊ณ , ์ƒˆ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ธฐ ์–ด๋ ต๋‹ค. ๊ฐ์ฒด ์ง€ํ–ฅ ์ฝ”๋“œ๋Š” ๊ทธ ๋ฐ˜๋Œ€! ๋‚˜์ค‘์— ์ด ์ฐจ์ด๋ฅผ ์ž˜ ๊ณ ๋ คํ•˜์—ฌ ์ฝ”๋“œ๋ฅผ ์งœ์ž!

p123. ๋””๋ฏธํ„ฐ ๋ฒ•์น™์€ ์ž˜ ์•Œ๋ ค์ง„ ํœด๋ฆฌ์Šคํ‹ฑ์œผ๋กœ, ๋ชจ๋“ˆ์€ ์ž์‹ ์ด ์กฐ์ž‘ํ•˜๋Š” ๊ฐ์ฒด์˜ ์†์‚ฌ์ •์„ ๋ชฐ๋ผ์•ผ ํ•œ๋‹ค๋Š” ๋ฒ•์น™์ด๋‹ค. ๐Ÿ‹๐Ÿ™‚

  • ํ›„๋ฏธ: ํ•จ์ˆ˜๋‚ด์—์„œ ์–ด๋–ค ์—ฐ์‚ฐ์ด ์ด๋ฃจ์–ด์ง€๋Š”์ง€ ์•Œ ํ•„์š” ์—†๊ณ  ๋‹จ์ง€ ํ•จ์ˆ˜์˜ ๊ฒฐ๊ณผ๊ฐ’๋งŒ ์•Œ๋ฉด ๋œ๋‹ค!

p123. final String outputDir = ctxt.getOptions().getScratchDir().getAbsolutePath(); ํ”ํžˆ ์œ„์™€ ๊ฐ™์€ ์ฝ”๋“œ๋ฅผ ๊ธฐ์ฐจ์ถฉ๋Œ(train wreck)์ด๋ผ ๋ถ€๋ฅธ๋‹ค. ... ์กฐ์žกํ•˜๋‹ค ์—ฌ๊ฒจ์ง€๋Š” ๋ฐฉ์‹์ด๋ฏ€๋กœ ํ”ผํ•˜๋Š” ํŽธ์ด ์ข‹๋‹ค. ๐Ÿ‹

  • ํŠœ๋ธŒ: โ€˜๊ธฐ์ฐจ ์ถฉ๋Œ ํ˜•ํƒœ์˜ ์ฝ”๋“œ๋Š” ์š”์ฆ˜ ๋“ค์–ด ์ฝ๊ธฐ ์‰ฌ์šด ์ฝ”๋“œ๋ฅผ ์ง€ํ–ฅํ•˜๋Š” fluent interface์— ๋“ฑ์žฅํ•˜๊ณ  ์žˆ๋‹ค.โ€™ ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. (xxviii ํŽ˜์ด์ง€, ๋ณต๊ฐ„์— ๋ถ€์ณ ์ค‘์—) / ๊ฒฝ์šฐ์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ๊ฒƒ ๊ฐ™๋‹ค.
  • ํ›„๋ฏธ: ๊ธฐ์ฐจ ์ถฉ๋Œ ๋ฐฉ์‹์œผ๋กœ ์ฝ”๋“œ flow๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๊ฒƒ๋„ ์ข‹์€๊ฒƒ ๊ฐ™์Œ.
  • ์ƒ๋ฆฌ: ๋ช…์‹œ์ ์œผ๋กœ ํ˜•์„ ์ง€์ •ํ•˜๋Š” ๋ฐฉ์‹์€ ๋„์›€์ด ๋  ๊ฒƒ ๊ฐ™๋‹ค. ๋ณ€์ˆ˜ ์žฌํ™œ์šฉ์„ฑ์— ์žˆ์–ด์„œ๋„ ์žฅ์ ์ผ ๊ฒƒ ๊ฐ™๋‹ค.

p124. ๊ฐ์ฒด๋ผ๋ฉด ๋‚ด๋ถ€ ๊ตฌ์กฐ๋ฅผ ์ˆจ๊ฒจ์•ผํ•˜๋ฏ€๋กœ ... ๋ฐ˜๋ฉด, ์ž๋ฃŒ ๊ตฌ์กฐ๋ผ๋ฉด ๋‹น์—ฐํžˆ ๋‚ด๋ถ€ ๊ตฌ์กฐ๋ฅผ ๋…ธ์ถœํ•˜๋ฏ€๋กœ ... ๐Ÿ‹

  • ์ƒ๋ฆฌ: ๊ฐ์ฒด์™€ ์ž๋ฃŒ ๊ตฌ์กฐ์˜ ์ฐจ์ด๋ฅผ ๊นจ๋‹ฌ์€ ๊ฒƒ ๊ฐ™๋‹ค.

p125. ๊ฐ์ฒด๋ผ๋ฉด ๋ญ”๊ฐ€๋ฅผ ํ•˜๋ผ๊ณ  ๋งํ•ด์•ผ์ง€ ์†์„ ๋“œ๋Ÿฌ๋‚ด๋ผ๊ณ  ๋งํ•˜๋ฉด ์•ˆ ๋œ๋‹ค. ๐Ÿ‹๐Ÿ™‚๐ŸŒต

  • ํ›„๋ฏธ: ๊ฐ์ฒด๋Š” ์ด๋ ‡๊ฒŒ ํ•ด์•ผ ๋งž๋Š”๊ฒƒ ๊ฐ™๋‹ค.

p126. ์ž๋ฃŒ ๊ตฌ์กฐ์ฒด์˜ ์ „ํ˜•์ ์ธ ํ˜•ํƒœ๋Š” ๊ณต๊ฐœ ๋ณ€์ˆ˜๋งŒ ์žˆ๊ณ  ํ•จ์ˆ˜๊ฐ€ ์—†๋Š” ํด๋ž˜์Šค๋‹ค. ์ด๋Ÿฐ ์ž๋ฃŒ ๊ตฌ์กฐ์ฒด๋ฅผ ๋•Œ๋กœ๋Š” ์ž๋ฃŒ ์ „๋‹ฌ ๊ฐ์ฒด(Data Transfer Object, DTO)๋ผ ํ•œ๋‹ค. ๐Ÿ‹

p126. ์ข€ ๋” ์ผ๋ฐ˜์ ์ธ ํ˜•ํƒœ๋Š” '๋นˆ(bean)' ๊ตฌ์กฐ๋‹ค. ... ๋นˆ์€ ๋น„๊ณต๊ฐœ(private)๋ณ€์ˆ˜๋ฅผ ์กฐํšŒ/์„ค์ • ํ•จ์ˆ˜๋กœ ์กฐ์ž‘ํ•œ๋‹ค. ์ผ์ข…์˜ ์‚ฌ์ด๋น„ ์บก์Šํ™”๋กœ, ... ๋ณ„๋‹ค๋ฅธ ์ด์ต์„ ์ œ๊ณตํ•˜์ง€ ์•Š๋Š”๋‹ค. ๐Ÿ‹

  • ์ƒ๋ฆฌ: ์ปคํ”ผ"์ฝฉโ€, ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ํ˜•ํƒœ๋ฅผ ๋งํ•˜๋Š” ๊ฒƒ ๊ฐ™๋‹ค!

p127. ํ™œ์„ฑ ๋ ˆ์ฝ”๋“œ๋Š” DTO์˜ ํŠน์ˆ˜ํ•œ ํ˜•ํƒœ๋‹ค. ๊ณต๊ฐœ ๋ณ€์ˆ˜๊ฐ€ ์žˆ๊ฑฐ๋‚˜ ๋น„๊ณต๊ฐœ ๋ณ€์ˆ˜์— ์กฐํšŒ/์„ค์ • ํ•จ์ˆ˜๊ฐ€ ์žˆ๋Š” ์ž๋ฃŒ ๊ตฌ์กฐ์ง€๋งŒ, ๋Œ€๊ฐœ save๋‚˜ find์™€ ๊ฐ™์€ ํƒ์ƒ‰ ํ•จ์ˆ˜๋„ ์ œ๊ณตํ•œ๋‹ค. ... ํ™œ์„ฑ ๋ ˆ์ฝ”๋“œ๋Š” ์ž๋ฃŒ ๊ตฌ์กฐ๋กœ ์ทจ๊ธ‰ํ•œ๋‹ค. ๐Ÿ‹๐ŸŒต

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

โœ… ์š”์•ฝ

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

โฌ†๏ธ ์œ„๋กœ ์ด๋™


7์žฅ. ์˜ค๋ฅ˜ ์ฒ˜๋ฆฌ

p130. ๋ญ”๊ฐ€ ์ž˜๋ชป๋˜๋ฉด ๋ฐ”๋กœ ์žก์„ ์ฑ…์ž„์€ ๋ฐ”๋กœ ์šฐ๋ฆฌ ํ”„๋กœ๊ทธ๋ž˜๋จธ์—๊ฒŒ ์žˆ๋‹ค. ๐Ÿ™‚๐Ÿง

  • ํ›„๋ฏธ: ๊ฐœ๋ฐœ์ž๋ผ๋ฉด ๋‹น์—ฐํžˆ ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“ค๋ฉด์„œ a/s๋„ ํ•ด์•ผ๋œ๋‹ค.
  • ํŽญ๊ท„: ์ด ์ฑ…์€ ๊ฐœ๋ฐœ์ž์—๊ฒŒ ์ฝ”๋“œ์— ๋Œ€ํ•œ ์ฑ…์ž„๊ฐ์„ ์ƒ๊ธฐ์‹œํ‚จ๋‹ค.

p131. ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์˜ˆ์™ธ๋ฅผ ๋˜์ง€๋Š” ํŽธ์ด ๋‚ซ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ํ˜ธ์ถœ์ž ์ฝ”๋“œ๊ฐ€ ๋” ๊น”๋”ํ•ด์ง„๋‹ค. ๋…ผ๋ฆฌ๊ฐ€ ์˜ค๋ฅ˜ ์ฒ˜๋ฆฌ ์ฝ”๋“œ์™€ ๋’ค์„ž์ด์ง€ ์•Š์œผ๋‹ˆ๊นŒ. ๐ŸŒต

  • ํŠœ๋ธŒ: ์˜ค๋ฅ˜๋ฅผ ์ž˜ ์žก๋Š” ๊ฒƒ๋„ ์ค‘์š”ํ•˜์ง€๋งŒ ๊น”๋”ํ•˜๊ฒŒ ์งœ๋Š” ๊ฒƒ๋„ ์ค‘์š”ํ•˜๋‹ค. (์ด ๋ถ€๋ถ„ ์•ž๋’ค์˜ ์ฝ”๋“œ๋ฅผ ์ž˜ ์„ค๋ช…ํ•ด ์ฃผ๋Š” ๋“ฏํ•˜๋‹ค)
  • ํŽญ๊ท„: ์ ์ ˆํ•œ ์˜ˆ์™ธ์ฒ˜๋ฆฌ๊ฐ€ ์ฝ”๋“œ๋ฅผ ๋” ๊น”๋”ํ•˜๊ฒŒ ํ•œ๋‹ค.

p133. ๋จผ์ € ๊ฐ•์ œ๋กœ ์˜ˆ์™ธ๋ฅผ ์ผ์œผํ‚ค๋Š” ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋ฅผ ์ž‘์„ฑํ•œ ํ›„ ํ…Œ์ŠคํŠธ๋ฅผ ํ†ต๊ณผํ•˜๊ฒŒ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๊ถŒ์žฅํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ try ๋ธ”๋ก์˜ ํŠธ๋žœ์žญ์…˜ ๋ฒ”์œ„๋ถ€ํ„ฐ ๊ตฌํ˜„ํ•˜๊ฒŒ ๋˜๋ฏ€๋กœ ๋ฒ”์œ„ ๋‚ด์—์„œ ํŠธ๋žœ์žญ์…˜ ๋ณธ์งˆ์„ ์œ ์ง€ํ•˜๊ธฐ ์‰ฌ์›Œ์ง„๋‹ค. ๐ŸŒต๐Ÿง

  • ํŽญ๊ท„: ์›๋ž˜๋Š” ๋กœ์ง๋ถ€ํ„ฐ ๊ตฌํ˜„ํ•˜๊ณ  ์—ฌ๊ธฐ์„œ ์—๋Ÿฌ๊ฐ€ ๋‚˜๊ฒ ๋‹ค ์‹ถ์œผ๋ฉด ์˜ค๋ฅ˜์ฒ˜๋ฆฌ๋ฅผ ํ•ด์คฌ์—ˆ๋‹ค. ์œ„์˜ ๋ฐฉ๋ฒ•์œผ๋กœ ํ•œ ๋ฒˆ ๊ตฌํ˜„ํ•ด๋ด์•ผ์ง€..!
  • ํ›„๋ฏธ: ์ผ๋‹จ ๋‹นํ•ด๋ด์•ผ ๋ฏธ๋ฆฌ ์ฒ˜๋ฆฌ๋ฅผ ํ• ๊ฒƒ ๊ฐ™๋‹ค.

p135. ์˜ˆ์™ธ๋ฅผ ๋˜์งˆ ๋•Œ๋Š” ์ „ํ›„ ์ƒํ™ฉ์„ ์ถฉ๋ถ„ํžˆ ๋ง๋ถ™์ธ๋‹ค. ๐Ÿ™‚

  • ํ›„๋ฏธ: ๋ฌด์Šจ ์—๋Ÿฌ์ธ์ง€ ์ •ํ™•ํžˆ ๋ช…์‹œ๋ฅผ ํ•ด์•ผ ๋‚˜์ค‘์— ๋””๋ฒ„๊น…ํ• ๋•Œ ํŽธํ•œ๋‹ค.
  • ํŽญ๊ท„: ์—๋Ÿฌ ๋ชจ๋‹ˆํ„ฐ๋ง ์‹œ ์—๋Ÿฌ ๋ฉ”์‹œ์ง€๊ฐ€ ์ค‘์š”ํ•˜๋‹ค.

p135. ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ ์œ„์น˜๋กœ ๋ถ„๋ฅ˜๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค. ... ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์˜ค๋ฅ˜๋ฅผ ์ •์˜ํ•  ๋•Œ ํ”„๋กœ๊ทธ๋ž˜๋จธ์—๊ฒŒ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ด€์‹ฌ์‚ฌ๋Š” ์˜ค๋ฅ˜๋ฅผ ์žก์•„๋‚ด๋Š” ๋ฐฉ๋ฒ•์ด ๋˜์–ด์•ผ ํ•œ๋‹ค. ๐ŸŒต

  • ํŠœ๋ธŒ: ์˜ˆ์™ธ๋ฅผ ์ฒ˜๋ฆฌํ•ด์„œ ์ค‘์š”ํ•œ ๊ฒƒ์€ ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์ด๋ผ๋Š” ์ ์„ ๋งํ•˜๋Š” ๊ฒƒ ๊ฐ™๋‹ค.

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

  • ํ›„๋ฏธ: ์˜ˆ์‹œ ์ฝ”๋“œ์— ์žˆ๋Š” ํด๋ž˜์Šค๋Š” ๋ชจ๋“  ์—๋Ÿฌ๋ฅผ ๋ชจ์•„๋‘” ํด๋ž˜์Šค๋ผ๊ณ  ์ƒ๊ฐ. ๋ฐ์ฝ”๋ ˆ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•ด ์˜ˆ์™ธ์ฒ˜๋ฆฌ๋ฅผ ํ•˜๋‹ˆ ํ›จ์”ฌ ์ฝ”๋“œ ์ฝ๊ธฐ๋„ ํŽธํ•ด์กŒ์Œ.

p138. ์ด๋ฅผ ํŠน์ˆ˜ ์‚ฌ๋ก€ ํŒจ๋˜(Special Case Pattern)์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค๊ฑฐ๋‚˜ ๊ฐ์ฒด๋ฅผ ์กฐ์ž‘ํ•ด ํŠน์ˆ˜ ์‚ฌ๋ก€๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ํด๋ผ์ด์–ธํŠธ ์ฝ”๋“œ๊ฐ€ ์˜ˆ์™ธ์ ์ธ ์ƒํ™ฉ์„ ์ฒ˜๋ฆฌํ•  ํ•„์š”๊ฐ€ ์—†์–ด์ง„๋‹ค. ํด๋ž˜์Šค๋‚˜ ๊ฐ์ฒด๊ฐ€ ์˜ˆ์™ธ์ ์ธ ์ƒํ™ฉ์„ ์บก์Šํ™”ํ•ด์„œ ์ฒ˜๋ฆฌํ•˜๋ฏ€๋กœ. ๐Ÿง

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

p139. ์œ„ ์ฝ”๋“œ๋Š” null ํ™•์ธ์ด ๋ˆ„๋ž€๋œ ๋ฌธ์ œ๋ผ ๋งํ•˜๊ธฐ ์‰ฝ๋‹ค. ํ•˜์ง€๋งŒ ์‹ค์ƒ์€ null ํ™•์ธ์ด ๋„ˆ๋ฌด ๋งŽ์•„ ๋ฌธ์ œ๋‹ค. ๋ฉ”์„œ๋“œ์—์„œ null์„ ๋ฐ˜ํ™˜ํ•˜๊ณ ํ”ˆ ์œ ํ˜น์ด ๋“ ๋‹ค๋ฉด ๊ทธ ๋Œ€์‹  ์˜ˆ์™ธ๋ฅผ ๋˜์ง€๊ฑฐ๋‚˜ ํŠน์ˆ˜ ์‚ฌ๋ก€ ๊ฐ์ฒด๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ์‚ฌ์šฉํ•˜๋ ค๋Š” ์™ธ๋ถ€ API๊ฐ€ null์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค๋ฉด ๊ฐ์‹ธ๊ธฐ ๋ฉ”์„œ๋“œ๋ฅผ ๊ตฌํ˜„ํ•ด ์˜ˆ์™ธ๋ฅผ ๋˜์ง€๊ฑฐ๋‚˜ ํŠน์ˆ˜ ์‚ฌ๋ก€ ๊ฐ์ฒด๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฐฉ์‹์„ ๊ณ ๋ คํ•œ๋‹ค. ๐ŸŒต๐Ÿง

  • ํŽญ๊ท„: ๋งŽ์ด ์ฐ”๋ ธ๋Š”๋ฐ, None์„ ๋ฐ˜ํ™˜ํ•˜๊ธฐ ๋ณด๋‹ค๋Š” ํ•ด๋‹น ์ž๋ฃŒํ˜•์— ๋งž๊ฒŒ None์„ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์„ ์‚ฌ์šฉํ•˜์ž.

p140. null์„ ๋ฐ˜ํ™˜ํ•˜๊ธฐ ๋ณด๋‹จ ๋นˆ ๋ฆฌ์ŠคํŠธ๋ฅผ ๋ฆฌํ„ดํ•˜์ž. ๐Ÿ™‚๐ŸŒต๐Ÿง

  • ํ›„๋ฏธ: ๋นˆ๋ฆฌ์ŠคํŠธ๋‚˜ ๊ณต๋ฐฑ(โ€œโ€)์„ ๋ฐ˜ํ™˜ํ•˜๋Š”๊ฒŒ ํ†ต์ผ์„ฑ์ธก๋ฉด์—์„œ๋„ ์ข‹๋‹ค.

p142. ๋Œ€๋‹ค์ˆ˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋Š” ํ˜ธ์ถœ์ž๊ฐ€ ์‹ค์ˆ˜๋กœ ๋„˜๊ธฐ๋Š” null์„ ์ ์ ˆํžˆ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์—†๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ์• ์ดˆ์— null์„ ๋„˜๊ธฐ์ง€ ๋ชปํ•˜๋„๋ก ๊ธˆ์ง€ํ•˜๋Š” ์ •์ฑ…์ด ํ•ฉ๋ฆฌ์ ์ด๋‹ค. ์ฆ‰, ์ธ์ˆ˜๋กœ null์ด ๋„˜์–ด์˜ค๋ฉด ์ฝ”๋“œ์— ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค๋Š” ๋ง์ด๋‹ค. ์ด๋Ÿฐ ์ •์ฑ…์„ ๋”ฐ๋ฅด๋ฉด ๊ทธ๋งŒํผ ๋ถ€์ฃผ์˜ํ•œ ์‹ค์ˆ˜๋ฅผ ์ €์ง€๋ฅผ ํ™•๋ฅ ๋„ ์ž‘์•„์ง„๋‹ค. ๐ŸŒต๐Ÿง

  • ํŽญ๊ท„: return None์€ lint๋กœ ๊ธˆ์ง€์‹œ์ผœ์•ผํ•œ๋‹ค.

p142. ๊นจ๋—ํ•œ ์ฝ”๋“œ๋Š” ์ฝ๊ธฐ๋„ ์ข‹์•„์•ผ ํ•˜์ง€๋งŒ ์•ˆ์ •์„ฑ๋„ ๋†’์•„์•ผ ํ•œ๋‹ค. ๐Ÿ™‚

โœ… ์š”์•ฝ

๊นจ๋—ํ•œ ์ฝ”๋“œ๋Š” ์ฝ๊ธฐ๋„ ์ข‹์•ผ์•ผ ํ•˜์ง€๋งŒ ์•ˆ์ •์„ฑ๋„ ๋†’์•„์•ผ ํ•œ๋‹ค.

โฌ†๏ธ ์œ„๋กœ ์ด๋™


8์žฅ. ๊ฒฝ๊ณ„

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

  • ํŠœ๋ธŒ: ์ด ์žฅ์„ ์š”์•ฝํ•˜๋Š” ํ•œ ๋ฌธ๋‹จ? ํ˜ผ์ž์„œ ํ•จ์ˆ˜ ์งค ๋•Œ๋„ ๋น„์Šทํ•œ ๋Š๋‚Œ์„ ๋ฐ›์€ ๊ฒƒ ๊ฐ™๋‹ค.

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

  • ํŽญ๊ท„: ๋‚˜์ค‘์— ๊ฐœ๋ฐœํ•  ๋•Œ ์•„์ด๋””์–ด๋กœ ์จ๋จน์–ด์•ผ์ง€.

p147. ๊ณง๋ฐ”๋กœ ์šฐ๋ฆฌ์ชฝ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด ์™ธ๋ถ€ ์ฝ”๋“œ๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๋Œ€์‹  ๋จผ์ € ๊ฐ„๋‹จํ•œ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋ฅผ ์ž‘์„ฑํ•ด ์™ธ๋ถ€ ์ฝ”๋“œ๋ฅผ ์ตํžˆ๋ฉด ์–ด๋–จ๊นŒ? ์ง ๋‰ด์ปคํฌ๋Š” ์ด๋ฅผ ํ•™์Šต ํ…Œ์ŠคํŠธ๋ผ ๋ถ€๋ฅธ๋‹ค. ๐Ÿ‹๐Ÿง๐ŸŒต๐Ÿ™‚

  • ์ƒ๋ฆฌ: ์ข…์ข… STL ํ…Œ์ŠคํŠธ
  • ํ›„๋ฏธ: ์ข…์ข… python ๋ฌธ๋ฒ• ํ…Œ์ŠคํŠธ

p151. ์šฐ๋ฆฌ๊ฐ€ ๋ฐ”๋ผ๋Š” ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•˜๋ฉด ์šฐ๋ฆฌ๊ฐ€ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ „์ ์œผ๋กœ ํ†ต์ œํ•œ๋‹ค๋Š” ์žฅ์ ์ด ์ƒ๊ธด๋‹ค. ๐Ÿ™‚

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

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

  • ์ƒ๋ฆฌ: ์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๊ฐ€์ ธ๋‹ค ์‚ฌ์šฉํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค์—ˆ๋˜ ๊ธฐ์–ต์ด ๋‚œ๋‹ค!
  • ํŽญ๊ท„: ADAPTER ํŒจํ„ด ์ฐธ๊ณ ์ž๋ฃŒ

โฌ†๏ธ ์œ„๋กœ ์ด๋™


9์žฅ. ๋‹จ์œ„ ํ…Œ์ŠคํŠธ

p155. ์ง€๊ธˆ ์ฆˆ์Œ์ด๋ฉด TDD๊ฐ€ ์‹ค์ œ ์ฝ”๋“œ๋ฅผ ์งœ๊ธฐ ์ „์— ๋‹จ์œ„ ํ…Œ์ŠคํŠธ๋ถ€ํ„ฐ ์งœ๋ผ๊ณ  ์š”๊ตฌํ•œ๋‹ค๋Š” ์‚ฌ์‹ค์„ ๋ชจ๋ฅด๋Š” ์‚ฌ๋žŒ์€ ์—†์œผ๋ฆฌ๋ผ. ...

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

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

p157. ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ๊นจ๋—ํ•˜๊ฒŒ ์œ ์ง€ํ•˜์ง€ ์•Š์œผ๋ฉด ๊ฒฐ๊ตญ์€ ์žƒ์–ด๋ฒ„๋ฆฐ๋‹ค. ๐Ÿ‹

  • ์ƒ๋ฆฌ: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์—ฌ๋Ÿฌ๋ฒˆ ์งœ๋Š” ๊ฒƒ๋งŒํผ ๋น„ํšจ์œจ์ ์ธ ์ผ์€ ์—†๋Š” ๊ฒƒ ๊ฐ™๋‹ค. ๋”ฐ๋ผ์„œ, ๋น„ํšจ์œจ์„ ์—†์• ๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ฝ”๋“œ๋ฅผ ๊น”๋”ํžˆ ์งœ๋†“๋Š” ๊ฒƒ์ด ์ค‘์š”!

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

p157. ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๊ฐ€ ์ง€์ €๋ถ„ํ• ์ˆ˜๋ก ์‹ค์ œ ์ฝ”๋“œ๋„ ์ง€์ €๋ถ„ํ•ด์ง„๋‹ค. ๐ŸŒต

p160. ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ์€ ์ž์›์ด ์ œํ•œ์ ์ผ ๊ฐ€๋Šฅ์„ฑ์ด ๋‚ฎ๋‹ค. ์ด๊ฒƒ์ด ์ด์ค‘ ํ‘œ์ค€์˜ ๋ณธ์งˆ์ด๋‹ค. ์‹ค์ œ ํ™˜๊ฒฝ์—์„œ๋Š” ์ ˆ๋Œ€๋กœ ์•ˆ ๋˜์ง€๋งŒ ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ์—์„œ๋Š” ์ „ํ˜€ ๋ฌธ์ œ์—†๋Š” ๋ฐฉ์‹์ด ์žˆ๋‹ค. ๐Ÿ‹

p165. given-when-then์ด๋ผ๋Š” ๊ด€๋ก€๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค ๐Ÿ‹๐ŸŒต

p165. ํ…Œ์ŠคํŠธ๋ฅผ ๋ถ„๋ฆฌํ•˜๋ฉด ์ค‘๋ณต๋˜๋Š” ์ฝ”๋“œ๊ฐ€ ๋งŽ์•„์ง„๋‹ค. TEMPLATE METHOD ํŒจํ„ด์„ ์‚ฌ์šฉํ•˜๋ฉด ์ค‘๋ณต์„ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ๋‹ค. ๐Ÿ‹

p165. ๋Œ€์ฒด๋กœ ๋‚˜๋Š” ๋‹จ์ผ assert๋ฅผ ์ง€์›ํ•˜๋Š” ํ•ด๋‹น ๋ถ„์•ผ ํ…Œ์ŠคํŠธ ์–ธ์–ด๋ฅผ ๋งŒ๋“ค๋ ค ๋…ธ๋ ฅํ•œ๋‹ค. ํ•˜์ง€๋งŒ ๋•Œ๋กœ๋Š” ์ฃผ์ € ์—†์ด ํ•จ์ˆ˜ ํ•˜๋‚˜์— ์—ฌ๋Ÿฌ assert ๋ฌธ์„ ๋„ฃ๊ธฐ๋„ ํ•œ๋‹ค. ๋‹จ์ง€ assert ๋ฌธ ๊ฐœ์ˆ˜๋Š” ์ตœ๋Œ€ํ•œ ์ค„์—ฌ์•ผ ์ข‹๋‹ค๋Š” ์ƒ๊ฐ์ด๋‹ค. ๐Ÿง๐ŸŒต

  • ํŽญ๊ท„: assert๋ฅผ ํ•˜๋‚˜๋งŒ ์“ธ ์ˆ˜ ์žˆ๋‹ค๋ฉด ์ข‹๊ฒ ์ง€๋งŒ์€, ํ•˜๋‚˜๋งŒ ์จ์•ผํ•ด์„œ ๊ฒ€์ฆ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋ฐ ๋” ์‹œ๊ฐ„์ด ๋งŽ์ด ๊ฑธ๋ฆฐ๋‹ค๋ฉด ์ฐจ๋ผ๋ฆฌ ์—ฌ๋Ÿฌ ๊ฒŒ ์“ฐ๋Š” ๊ฒƒ์ด ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค. (์ €์ž ๋ง์— ๊ณต๊ฐ)

p167. ๊ทธ๋Ÿฌ๋ฏ€๋กœ ๊ฐ€์žฅ ์ข‹์€ ๊ทœ์น™์€ "๊ฐœ๋… ๋‹น assert ๋ฌธ ์ˆ˜๋ฅผ ์ตœ์†Œ๋กœ ์ค„์—ฌ๋ผ"์™€ "ํ…Œ์ŠคํŠธ ํ•จ์ˆ˜ ํ•˜๋‚˜๋Š” ๊ฐœ๋… ํ•˜๋‚˜๋งŒ ํ…Œ์ŠคํŠธํ•˜๋ผ"๋ผ ํ•˜๊ฒ ๋‹ค. ๐Ÿ‹

p168. ํ…Œ์ŠคํŠธ๋Š” ์ ์‹œ์— ์ž‘์„ฑํ•ด์•ผ ํ•œ๋‹ค. ๐Ÿ™‚

โœ… ์š”์•ฝ

๊นจ๋—ํ•œ ํ…Œ์ŠคํŠธ๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ๋‹ค์„ฏ ๊ฐ€์ง€ ๊ทœ์น™!

  • Fast: ํ…Œ์ŠคํŠธ๋Š” ๋นจ๋ผ์•ผ ํ•œ๋‹ค.
  • Independent: ๊ฐ ํ…Œ์ŠคํŠธ๋Š” ์„œ๋กœ ์˜์กดํ•˜๋ฉด ์•ˆ ๋œ๋‹ค. ํ•œ ํ…Œ์ŠคํŠธ๊ฐ€ ๋‹ค์Œ ํ…Œ์ŠคํŠธ๊ฐ€ ์‹คํ–‰๋  ํ™˜๊ฒฝ์„ ์ค€๋น„ํ•ด์„œ๋Š” ์•ˆ ๋œ๋‹ค.
  • Repeatable: ํ…Œ์ŠคํŠธ๋Š” ์–ด๋–ค ํ™˜๊ฒฝ์—์„œ๋„ ๋ฐ˜๋ณต ๊ฐ€๋Šฅํ•ด์•ผ ํ•œ๋‹ค.
  • Self-Validating: ํ…Œ์ŠคํŠธ๋Š” ๋ถ€์šธ(bool) ๊ฐ’์œผ๋กœ ๊ฒฐ๊ณผ๋ฅผ ๋‚ด์•ผ ํ•œ๋‹ค.
  • Timely: ํ…Œ์ŠคํŠธ๋Š” ์ ์‹œ์— ์ž‘์„ฑํ•ด์•ผ ํ•œ๋‹ค. ๋‹จ์œ„ ํ…Œ์ŠคํŠธ๋Š” ํ…Œ์ŠคํŠธํ•˜๋ ค๋Š” ์‹ค์ œ ์ฝ”๋“œ๋ฅผ ๊ตฌํ˜„ํ•˜๊ธฐ ์ง์ „์— ๊ตฌํ˜„ํ•œ๋‹ค.

โฌ†๏ธ ์œ„๋กœ ์ด๋™


10์žฅ. ํด๋ž˜์Šค

p172. ํด๋ž˜์Šค๋ฅผ ์ •์˜ํ•˜๋Š” ํ‘œ์ค€ ์ž๋ฐ” ๊ด€๋ก€์— ๋”ฐ๋ฅด๋ฉด, ๊ฐ€์žฅ ๋จผ์ € ๋ณ€์ˆ˜ ๋ชฉ๋ก์ด ๋‚˜์˜จ๋‹ค. ์ •์ (static) ๊ณต๊ฐœ(public) ์ƒ์ˆ˜๊ฐ€ ์žˆ๋‹ค๋ฉด ๋งจ ์ฒ˜์Œ์— ๋‚˜์˜จ๋‹ค. ๋‹ค์Œ์œผ๋กœ ์ •์  ๋น„๊ณต๊ฐœ(private) ๋ณ€์ˆ˜๊ฐ€ ๋‚˜์˜ค๋ฉฐ, ์ด์–ด์„œ ๋น„๊ณต๊ฐœ ์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜๊ฐ€ ๋‚˜์˜จ๋‹ค. ๊ณต๊ฐœ ๋ณ€์ˆ˜๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ๋Š” ๊ฑฐ์˜ ์—†๋‹ค. ๋ณ€์ˆ˜ ๋ชฉ๋ก ๋‹ค์Œ์—๋Š” ๊ณต๊ฐœ ํ•จ์ˆ˜๊ฐ€ ๋‚˜์˜จ๋‹ค. ๋น„๊ณต๊ฐœ ํ•จ์ˆ˜๋Š” ์ž์‹ ์„ ํ˜ธ์ถœํ•˜๋Š” ๊ณต๊ฐœ ํ•จ์ˆ˜ ์งํ›„์— ๋„ฃ๋Š”๋‹ค. ์ฆ‰, ์ถ”์ƒํ™” ๋‹จ๊ณ„๊ฐ€ ์ˆœ์ฐจ์ ์œผ๋กœ ๋‚ด๋ ค๊ฐ„๋‹ค.

  • ํด๋ž˜์Šค๋ฅผ ์ •์˜ํ•˜๋Š” ํ‘œ์ค€ ์ž๋ฐ” ๊ด€๋ก€: ๋ณ€์ˆ˜๋ชฉ๋ก(์ •์  ๊ณต๊ฐœ ์ƒ์ˆ˜ โ†’ ์ •์  ๋น„๊ณต๊ฐœ ๋ณ€์ˆ˜ โ†’ ๋น„๊ณต๊ฐœ ์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜) โ†’ ํ•จ์ˆ˜๋ชฉ๋ก(๊ณต๊ฐœํ•จ์ˆ˜ โ†’ ๋น„๊ณต๊ฐœํ•จ์ˆ˜) ๐Ÿ‹๐ŸŒต๐Ÿง

p172. ์บก์Šํ™”๋ฅผ ํ’€์–ด์ฃผ๋Š” ๊ฒฐ์ •์€ ์–ธ์ œ๋‚˜ ์ตœํ›„์˜ ์ˆ˜๋‹จ์ด๋‹ค. ๐Ÿ‹๐Ÿง

p175. ํด๋ž˜์Šค ์ด๋ฆ„์€ ํ•ด๋‹น ํด๋ž˜์Šค ์ฑ…์ž„์„ ๊ธฐ์ˆ ํ•ด์•ผํ•œ๋‹ค. ์‹ค์ œ๋กœ ์ž‘๋ช…์€ ํด๋ž˜์Šค ํฌ๊ธฐ๋ฅผ ์ค„์ด๋Š” ์ฒซ ๋ฒˆ์งธ ๊ด€๋ฌธ์ด๋‹ค. ๊ฐ„๊ฒฐํ•œ ์ด๋ฆ„์ด ๋– ์˜ค๋ฅด์ง€ ์•Š๋Š”๋‹ค๋ฉด ํ•„๊ฒฝ ํด๋ž˜์Šค ํฌ๊ธฐ๊ฐ€ ๋„ˆ๋ฌด ์ปค์„œ ๊ทธ๋ ‡๋‹ค. ํด๋ž˜์Šค ์ด๋ฆ„์ด ๋ชจํ˜ธํ•˜๋‹ค๋ฉด ํ•„๊ฒฝ ํด๋ž˜์Šค ์ฑ…์ž„์ด ๋„ˆ๋ฌด ๋งŽ์•„์„œ๋‹ค. ๐Ÿ‹๐ŸŒต๐Ÿง๐Ÿ™‚

  • ํ›„๋ฏธ: ํ™•์‹คํžˆ ์ฒ˜์Œ ํด๋ž˜์Šค๋ฅผ ์ •ํ•˜๊ณ  ์—ฌ๋Ÿฌ ๊ธฐ๋Šฅ๋“ค์„ ์ถ”๊ฐ€ ํ• ๋•Œ ํด๋ž˜์Šค๋ช…์ด ๊ธธ์–ด์งˆ๋•Œ๋„ ์žˆ๋Š”๋ฐ ์ด๋•Œ๊ฐ€ ํด๋ž˜์Šค๋ฅผ ๋ถ„๋ฆฌํ• ๋•Œ ์ธ๊ฑฐ ๊ฐ™๋‹ค.
  • ํŠœ๋ธŒ: ์ด๋ฆ„์ด ์ฝ”๋“œ ํ’ˆ์งˆ์„ ๊ฒฐ์ •ํ•œ๋‹ค! ํ•จ์ˆ˜ ์ด๋ฆ„์ด๋ž‘ ๋น„์Šทํ•œ ๋งฅ๋ฝ์ธ ๊ฒƒ ๊ฐ™๋‹ค.

p175. ํด๋ž˜์Šค ์„ค๋ช…์€ ๋งŒ์ผ("if"), ๊ทธ๋ฆฌ๊ณ ("and"), -(ํ•˜)๋ฉฐ("or"), ํ•˜์ง€๋งŒ("but")์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ ์„œ 25๋‹จ์–ด ๋‚ด์™ธ๋กœ ๊ฐ€๋Šฅํ•ด์•ผํ•œ๋‹ค. ๐Ÿ‹

  • ์ƒ๋ฆฌ: ํด๋ž˜์Šค ๋ช…์˜ ๊ทœ์น™๊ณผ๋„ ์—ฐ๊ด€๋œ ๊ฒƒ ๊ฐ™๋‹ค.
  • ํ›„๋ฏธ: doc string์— ํ•จ์ˆ˜ ์„ค๋ช…์„ ์“ธ๋•Œ ํ•œ์ค„๋กœ ์•ˆ์จ์ง€๋ฉด ํด๋ž˜์Šค๋ฅผ ๋ถ„๋ฆฌํ•ด์•ผ ๋ ๊ฑฐ ๊ฐ™๋‹ค.

p175 - 176. ๋‹จ์ผ ์ฑ…์ž„ ์›์น™(Single Responsibility Principle, SRP)์€ ํด๋ž˜์Šค๋‚˜ ๋ชจ๋“ˆ์„ ๋ณ€๊ฒฝํ•  ์ด์œ ๊ฐ€ ํ•˜๋‚˜, ๋‹จ ํ•˜๋‚˜๋ฟ์ด์–ด์•ผ ํ•œ๋‹ค๋Š” ์›์น™์ด๋‹ค. SRP๋Š” '์ฑ…์ž„'์ด๋ผ๋Š” ๊ฐœ๋…์„ ์ •์˜ํ•˜๋ฉฐ ์ ์ ˆํ•œ ํด๋ž˜์Šค ํฌ๊ธฐ๋ฅผ ์ œ์‹œํ•œ๋‹ค. ํด๋ž˜์Šค๋Š” ์ฑ…์ž„, ์ฆ‰ ๋ณ€๊ฒฝํ•  ์ด์œ ๊ฐ€ ํ•˜๋‚˜์—ฌ์•ผ ํ•œ๋‹ค๋Š” ์˜๋ฏธ๋‹ค. ... ์ฑ…์ž„, ์ฆ‰ ๋ณ€๊ฒฝํ•  ์ด์œ ๋ฅผ ํŒŒ์•…ํ•˜๋ ค ์• ์“ฐ๋‹ค ๋ณด๋ฉด ์ฝ”๋“œ๋ฅผ ์ถ”์ƒํ™”ํ•˜๊ธฐ๋„ ์‰ฌ์›Œ์ง„๋‹ค. ๋” ์ข‹์€ ์ถ”์ƒํ™”๊ฐ€ ๋” ์‰ฝ๊ฒŒ ๋– ์˜ค๋ฅธ๋‹ค. SuperDashboard์—์„œ ๋ฒ„์ „ ์ •๋ณด๋ฅผ ๋‹ค๋ฃจ๋Š” ๋ฉ”์„œ๋“œ ์„ธ ๊ฐœ๋ฅผ ๋”ฐ๋กœ ๋นผ๋‚ด Version์ด๋ผ๋Š” ๋…์ž์ ์ธ ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ ๋‹ค(๋ชฉ๋ก 10-2, 10-3 ์ฐธ์กฐ). Version ํด๋ž˜์Šค๋Š” ๋‹ค๋ฅธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์žฌ์‚ฌ์šฉํ•˜๊ธฐ ์•„์ฃผ ์‰ฌ์šด ๊ตฌ์กฐ๋‹ค! ๐Ÿ‹๐ŸŒต

  • ์ƒ๋ฆฌ: โ€œ๋ณ€๊ฒฝํ•  ์ด์œ โ€์˜ ์ •ํ™•ํ•œ ์˜๋ฏธโ€ฆ?
  • ํŠœ๋ธŒ: โ€˜์ฑ…์ž„'(=๋ณ€๊ฒฝํ•  ์ด์œ )์ด โ€˜์—ญํ• โ€™์ด๋ž‘ ๋น„์Šทํ•œ ์˜๋ฏธ..?
  • ํŽญ๊ท„: ํด๋ž˜์Šค๋ฅผ ์–ด๋Š ํ•˜๋‚˜์˜ ๋ชฉ์ ์„ ๋‹ฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ์—ฌ๋Ÿฌ ๋ฉ”์„œ๋“œ๋ฅผ ์ •์˜ํ•˜๋Š” ๋Š๋‚Œ์œผ๋กœ ์ƒ๊ฐํ•˜๋ฉด โ€œ์ฑ…์ž„"์ด ์–ด๋–ค ์˜๋ฏธ์ธ์ง€ ์™€๋‹ฟ์ง€ ์•Š์„๊นŒโ€ฆ?

p176. ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๋Œ์•„๊ฐ€๊ฒŒ ๋งŒ๋“œ๋Š” ํ™œ๋™๊ณผ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๊นจ๋—ํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ํ™œ๋™์€ ์™„์ „ํžˆ ๋ณ„๊ฐœ๋‹ค. ์šฐ๋ฆฌ๋“ค ๋Œ€๋‹ค์ˆ˜๋Š” ๋‘๋‡Œ ์šฉ๋Ÿ‰์— ํ•œ๊ณ„๊ฐ€ ์žˆ์–ด '๊นจ๋—ํ•˜๊ณ  ์ฒด๊ณ„์ ์ธ ์†Œํ”„ํŠธ์›จ์–ด'๋ณด๋‹ค '๋Œ์•„๊ฐ€๋Š” ์†Œํ”„ํŠธ์›จ์–ด'์— ์ดˆ์ ์„ ๋งž์ถ˜๋‹ค. ๐Ÿง

  • ์ƒ๋ฆฌ: ํŒ€๋ฐ”ํŒ€..! ๋ฆฌ๋”์˜ ์—ญํ• ์ด ์ค‘์š”ํ•œ ๊ฒƒ ๊ฐ™๋‹ค. ์žฅ๋น„๋กœ ๋ฐ€์–ด๋ถ™์ด๋Š” ๊ฒƒ๋„ ์ข‹์€ ๊ฒƒ ๊ฐ™๋‹ค ใ…Ž

p177. ํฐ ํด๋ž˜์Šค ๋ช‡ ๊ฐœ๊ฐ€ ์•„๋‹ˆ๋ผ ์ž‘์€ ํด๋ž˜์Šค ์—ฌ๋Ÿฟ ์ด๋ค„์ง„ ์‹œ์Šคํ…œ์ด ๋” ๋ฐ”๋žŒ์งํ•˜๋‹ค. ๐Ÿ‹๐ŸŒต

p178. 'ํ•จ์ˆ˜๋ฅผ ์ž‘๊ฒŒ, ๋งค๊ฐœ๋ณ€์ˆ˜ ๋ชฉ๋ก์„ ์งง๊ฒŒ'๋ผ๋Š” ์ „๋žต์„ ๋”ฐ๋ฅด๋‹ค ๋ณด๋ฉด ๋•Œ๋•Œ๋กœ ๋ช‡๋ช‡ ๋ฉ”์„œ๋“œ๋งŒ์ด ์‚ฌ์šฉํ•˜๋Š” ์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜๊ฐ€ ์•„์ฃผ ๋งŽ์•„์ง„๋‹ค. ์ด๋Š” ์‹ญ์ค‘ํŒ”๊ตฌ ์ƒˆ๋กœ์šด ํด๋ž˜์Šค๋กœ ์ชผ๊ฐœ์•ผ ํ•œ๋‹ค๋Š” ์‹ ํ˜ธ๋‹ค. ๐ŸŒต๐Ÿง๐Ÿ™‚

p188. OCP(Open-Closed Principle)๋ž€ ํด๋ž˜์Šค ํ™•์žฅ์— ๊ฐœ๋ฐฉ์ ์ด๊ณ  ์ˆ˜์ •์— ํ์‡„์ ์ด์–ด์•ผ ํ•œ๋‹ค๋Š” ์›์น™์ด๋‹ค. ... ์ƒˆ ๊ธฐ๋Šฅ์„ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ๊ธฐ์กด ๊ธฐ๋Šฅ์„ ๋ณ€๊ฒฝํ•  ๋•Œ ๊ฑด๋“œ๋ฆด ์ฝ”๋“œ๊ฐ€ ์ตœ์†Œ์ธ ์‹œ์Šคํ…œ ๊ตฌ์กฐ๊ฐ€ ๋ฐ”๋žŒ์งํ•˜๋‹ค. ์ด์ƒ์ ์ธ ์‹œ์Šคํ…œ์ด๋ผ๋ฉด ์ƒˆ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•  ๋•Œ ์‹œ์Šคํ…œ์„ ํ™•์žฅํ•  ๋ฟ ๊ธฐ์กด ์ฝ”๋“œ๋ฅผ ๋ณ€๊ฒฝํ•˜์ง€๋Š” ์•Š๋Š”๋‹ค. ๐Ÿ‹๐Ÿง๐Ÿ™‚

  • ์ƒ๋ฆฌ: ์ฒ˜์Œ์—” ์ดํ•ด๊ฐ€ ์•ˆ๋ผ์„œ ์—ฌ๋Ÿฌ๋ฒˆ ์ฝ์—ˆ๋Š”๋ฐ, ์ด๋ก ์ ์œผ๋กœ ๋งž๋Š”๋ง์ธ ๊ฒƒ ๊ฐ™๋‹ค. ๊ทผ๋ฐ ์ด๋ก ์€ ์ด๋ก ์ผ ๋ฟ.. ์–ด๋ ค์šธ ๊ฒƒ ๊ฐ™๋‹ค.
  • ํ›„๋ฏธ: ๋‚˜์ค‘์„ ์ƒ๊ฐํ•˜๋ฉด OCP๋ฅผ ๋”ฐ๋ผ ํด๋ž˜์Šค๋ฅผ ์งœ๋Š”๊ฒƒ์ด ์ข‹๊ฒ ๋‹ค.

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

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

p190. ๊ฒฐํ•ฉ๋„๋ฅผ ์ตœ์†Œ๋กœ ์ค„์ด๋ฉด ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ๋˜ ๋‹ค๋ฅธ ํด๋ž˜์Šค ์„ค๊ณ„ ์›์น™์ธ DIP(Dependency Inversion Principle)๋ฅผ ๋”ฐ๋ฅด๋Š” ํด๋ž˜์Šค๊ฐ€ ๋‚˜์˜จ๋‹ค. ๋ณธ์งˆ์ ์œผ๋กœ DIP๋Š” ํด๋ž˜์Šค๊ฐ€ ์ƒ์„ธํ•œ ๊ตฌํ˜„์ด ์•„๋‹ˆ๋ผ ์ถ”์ƒํ™”์— ์˜์กดํ•ด์•ผ ํ•œ๋‹ค๋Š” ์›์น™์ด๋‹ค. ๐Ÿ‹

  • ์ƒ๋ฆฌ: ์ถ”์ƒํ™”๋ฅผ ์ œ๋Œ€๋กœ ๊ตฌํ˜„ํ•œ๋‹ค๋ฉด 188 ํŽ˜์ด์ง€์—์„œ ์–ธ๊ธ‰ํ•œ โ€œํ™•์žฅ์€ ์‰ฝ๊ฒŒ, ์ˆ˜์ •์€ ์–ด๋ ต๊ฒŒโ€๋ฅผ ๋งŒ์กฑํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™๋‹ค.

11์žฅ. ์‹œ์Šคํ…œ

p194. ๋„์‹œ๊ฐ€ ๋Œ์•„๊ฐ€๋Š” ๋˜ ๋‹ค๋ฅธ ์ด์œ ๋Š” ์ ์ ˆํ•œ ์ถ”์ƒํ™”์™€ ๋ชจ๋“ˆํ™” ๋•Œ๋ฌธ์ด๋‹ค. ๊ทธ๋ž˜์„œ ํฐ ๊ทธ๋ฆผ์„ ์ดํ•ดํ•˜์ง€ ๋ชปํ• ์ง€๋ผ๋„ ๊ฐœ์ธ๊ณผ ๊ฐœ์ธ์ด ๊ด€๋ฆฌํ•˜๋Š” โ€˜๊ตฌ์„ฑ์š”์†Œโ€™๋Š” ํšจ์œจ์ ์œผ๋กœ ๋Œ์•„๊ฐ„๋‹ค. ๐Ÿ‹๐ŸŒต๐Ÿง

  • ํŠœ๋ธŒ: ๊ฑด์ถ•๊ณผ์˜ ๋น„์œ ๊ฐ€ ๋’ค์—๋„ ์ด์–ด์ง€๋Š”๋ฐ ์ ์ ˆํ•œ ๋น„์œ ์ธ๋“ฏ!

p195. ์†Œํ”„ํŠธ์›จ์–ด ์‹œ์Šคํ…œ์€ (์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐ์ฒด๋ฅผ ์ œ์ž‘ํ•˜๊ณ  ์˜์กด์„ฑ์„ ์„œ๋กœ โ€˜์—ฐ๊ฒฐโ€™ํ•˜๋Š”) ์ค€๋น„ ๊ณผ์ •๊ณผ (์ค€๋น„ ๊ณผ์ • ์ดํ›„์— ์ด์–ด์ง€๋Š”) ๋Ÿฐํƒ€์ž„ ๋กœ์ง์„ ๋ถ„๋ฆฌํ•ด์•ผ ํ•œ๋‹ค. ๐Ÿ‹

  • ํŽญ๊ท„: ์„œ๋ฒ„ ๊ฐœ๋ฐœํ•  ๋•Œ ๋ณด๋ฉด, DB์„ธ์…˜์„ ์ƒ์„ฑํ•˜๋Š” ๊ณผ์ •๊ณผ ์‹ค์ œ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋กœ์ง์ด ๋ถ„๋ฆฌ๋˜์–ด ์žˆ๋Š”๋ฐ ๊ทธ๊ฒŒ ์ƒ๊ฐ์ด ๋‚ฌ๋‹ค.
  • ์ƒ๋ฆฌ: ํ•จ์ˆ˜๋ฅผ ๋ถ„๋ฆฌํ•˜๋Š” ๊ธฐ์ค€์„ ์กฐ๊ธˆ ๋” ๋ช…ํ™•ํ•˜๊ฒŒ ์„ธ์šธ ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๋‹ค. ์‹œ์ž‘๊ณผ์ •์˜ ์ดˆ๊ธฐํ™”์™€ ๋Ÿฐํƒ€์ž„ ์ค‘ ์˜ค๋ฅ˜๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ์ดˆ๊ธฐํ™”๋Š” ๋‹ค๋ฅด๋“ฏ์ด!

p195. ์ดˆ๊ธฐํ™” ์ง€์—ฐ(Lazy Initialization)ํ˜น์€ ๊ณ„์‚ฐ ์ง€์—ฐ(Lazy Evaluation)์ด๋ผ๋Š” ๊ธฐ๋ฒ•์ด๋‹ค. ... ์ฑ…์ž„์ด ๋‘˜์ด๋ผ๋Š” ๋ง์€ ๋ฉ”์„œ๋“œ๊ฐ€ ์ž‘์—…์„ ๋‘ ๊ฐ€์ง€ ์ด์ƒ ์ˆ˜ํ–‰ํ•œ๋‹ค๋Š” ์˜๋ฏธ๋‹ค. ์ฆ‰, ์ž‘๊ฒŒ๋‚˜๋งˆ ๋‹จ์ผ ์ฑ…์ž„ ์›์น™(Single Responsibility Principle, SRP)์„ ๊นฌ๋‹ค๋Š” ๋ง์ด๋‹ค. ๐Ÿ‹๐ŸŒต

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

  • ํ›„๋ฏธ: main๊ณผ ๋‹ค๋ฅธ ๊ธฐ๋Šฅ๋“ค์„ ๋ถ„๋ฆฌํ•˜์ž. ์„ค์ •๊ณผ, ๋ถ„๋ฆฌํ•˜๋Š” ๋ถ€๋ถ„(์ฝ”๋“œ)๋ฅผ ๋ถ„๋ฆฌ

p197. LineItem์„ ์ƒ์„ฑํ•˜๋Š” ์‹œ์ ์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๊ฒฐ์ •ํ•˜์ง€๋งŒ LineItem์„ ์ƒ์„ฑํ•˜๋Š” ์ฝ”๋“œ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋ชจ๋ฅธ๋‹ค. ๐Ÿ‹๐ŸŒต๐Ÿง

  • ํŽญ๊ท„: โ€œํŒฉํ† ๋ฆฌ ๋ฉ”์„œ๋“œ ํŒจํ„ด vs ์ถ”์ƒํ™” ํŒฉํ† ๋ฆฌ ํŒจํ„ดโ€ ๊ด€๋ จํ•ด์„œ ์ฐพ์•„๋ณด์‹œ๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™์•„์š”!

p198. ์‚ฌ์šฉ๊ณผ ์ œ์ž‘์„ ๋ถ„๋ฆฌํ•˜๋Š” ๊ฐ•๋ ฅํ•œ ๋ฉ”์ปค๋‹ˆ์ฆ˜ ํ•˜๋‚˜๊ฐ€ ์˜์กด์„ฑ ์ฃผ์ž…(Dependency Injection, DI)์ด๋‹ค. ์˜์กด์„ฑ ์ฃผ์ž…์€ ์ œ์–ด ์—ญ์ „(Inversion of Control, IoC) ๊ธฐ๋ฒ•์„ ์˜์กด์„ฑ ๊ด€๋ฆฌ์— ์ ์šฉํ•œ ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด๋‹ค. ์ œ์–ด ์—ญ์ „์—์„œ๋Š” ํ•œ ๊ฐ์ฒด๊ฐ€ ๋งก์€ ๋ณด์กฐ ์ฑ…์ž„์„ ์ƒˆ๋กœ์šด ๊ฐ์ฒด์—๊ฒŒ ์ „์ ์œผ๋กœ ๋– ๋„˜๊ธด๋‹ค. ๐Ÿ‹๐ŸŒต

  • ํŠœ๋ธŒ: ์˜์กด์„ฑ ์ฃผ์ž…
  • ํŽญ๊ท„: ์ด ์žฅ์„ ๋ณด๋Š” ์‹œ๊ฐ์„ ๋ฐ”๊ฟ”์ค€ ๋ฌธ์žฅ. ์—ฌ๊ธฐ์„œ๋ถ€ํ„ฐ ๋’ค์— ๋‚ด์šฉ์„ 100% ์ดํ•ดํ•˜๋ ค๋ฉด ์ž๋ฐ” ์Šคํ”„๋ง ๋ถ€ํŠธ๋ฅผ ๊ณต๋ถ€ํ•ด์•ผ ํ•œ๋‹ค.

p198. ์ง„์ •ํ•œ ์˜์กด์„ฑ ์ฃผ์ž…์€ ์—ฌ๊ธฐ์„œ ํ•œ ๊ฑธ์Œ ๋” ๋‚˜๊ฐ„๋‹ค. ํด๋ž˜์Šค๊ฐ€ ์˜์กด์„ฑ์„ ํ•ด๊ฒฐํ•˜๋ ค ์‹œ๋„ํ•˜์ง€ ์•Š๋Š”๋‹ค. ํด๋ž˜์Šค๋Š” ์™„์ „ํžˆ ์ˆ˜๋™์ ์ด๋‹ค. ๋Œ€์‹ ์— ์˜์กด์„ฑ์„ ์ฃผ์ž…ํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ์„ค์ •์ž(setter) ๋ฉ”์„œ๋“œ๋‚˜ ์ƒ์„ฑ์ž ์ธ์ˆ˜๋ฅผ ์ œ๊ณตํ•œ๋‹ค. โ€ฆ ๋Œ€๋‹ค์ˆ˜ DI ์ปจํ…Œ์ด๋„ˆ๋Š” ํ•„์š”ํ•  ๋•Œ๊นŒ์ง€๋Š” ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜์ง€ ์•Š๊ณ , ๋Œ€๋ถ€๋ถ„์€ ๊ณ„์‚ฐ ์ง€์—ฐ์ด๋‚˜ ๋น„์Šทํ•œ ์ตœ์ ํ™”์— ์“ธ ์ˆ˜ ์žˆ๋„๋ก ํŒฉํ† ๋ฆฌ๋ฅผ ํ˜ธ์ถœํ•˜๊ฑฐ๋‚˜ ํ”„๋ก์‹œ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•œ๋‹ค. ๐Ÿ‹

  • ์ƒ๋ฆฌ: ์˜์กด์„ฑ ์ฃผ์ž…๊ณผ ๊ณ„์‚ฐ์ง€์—ฐ๊ณผ ๊ฐ™์€ ์ตœ์ ํ™”๋Š” ๋ฌด์Šจ ๊ด€๊ณ„๊ฐ€ ์žˆ์„๊นŒ?

p199. ํ…Œ์ŠคํŠธ ์ฃผ๋„ ๊ฐœ๋ฐœ(Test-driven Development, TDD), ๋ฆฌํŒฉํ„ฐ๋ง, ๊นจ๋—ํ•œ ์ฝ”๋“œ๋Š” ์ฝ”๋“œ ์ˆ˜์ค€์—์„œ ์‹œ์Šคํ…œ์„ ์กฐ์ •ํ•˜๊ณ  ํ™•์žฅํ•˜๊ธฐ ์‰ฝ๊ฒŒ ๋งŒ๋“ ๋‹ค. ๐Ÿ‹

  • ์ƒ๋ฆฌ: ๊ธฐ์–ตํ•ด์•ผํ•  ์š”์†Œ๋“ค!

p199. โ€˜์ฒ˜์Œ๋ถ€ํ„ฐ ์˜ฌ๋ฐ”๋ฅด๊ฒŒโ€™ ์‹œ์Šคํ…œ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค๋Š” ๋ฏฟ์Œ์€ ๋ฏธ์‹ ์ด๋‹ค. ๋Œ€์‹ ์— ์šฐ๋ฆฌ๋Š” ์˜ค๋Š˜ ์ฃผ์–ด์ง„ ์‚ฌ์šฉ์ž ์Šคํ† ๋ฆฌ์— ๋งž์ถฐ ์‹œ์Šคํ…œ์„ ๊ตฌํ˜„ํ•ด์•ผ ํ•œ๋‹ค. ๋‚ด์ผ์€ ์ƒˆ๋กœ์šด ์Šคํ† ๋ฆฌ์— ๋งž์ถฐ ์‹œ์Šคํ…œ์„ ์กฐ์ •ํ•˜๊ณ  ํ™•์žฅํ•˜๋ฉด ๋œ๋‹ค. ์ด๊ฒƒ์ด ๋ฐ˜๋ณต์ ์ด๊ณ  ์ ์ง„์ ์ธ ์• ์ž์ผ ๋ฐฉ๋ฒ•์˜ ํ•ต์‹ฌ์ด๋‹ค. ๐Ÿ™‚๐ŸŒต๐Ÿง

  • ํ›„๋ฏธ: ์ฒ˜์Œ๋ถ€ํ„ฐ ์ œ๋Œ€๋กœ๋œ ์‹œ์Šคํ…œ์„ ๋งŒ๋“ค ์ˆ˜๋Š”์—†์–ด ๋ฐ˜๋ณต์ ์œผ๋กœ ๋งŒ๋“ค์–ด๊ฐ€์ž๋Š” ๋ง์ด ๊ณต๊ฐ๋จ

p200. ์†Œํ”„ํŠธ์›จ์–ด ์‹œ์Šคํ…œ์€ โ€˜์ˆ˜๋ช…์ด ์งง๋‹คโ€™๋Š” ๋ณธ์งˆ๋กœ ์ธํ•ด ์•„ํ‚คํ…์ฒ˜์˜ ์ ์ง„์ ์ธ ๋ฐœ์ „์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ๐Ÿ‹๐ŸŒต

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

p211. ๋ชจ๋“ˆ์„ ๋‚˜๋ˆ„๊ณ  ๊ด€์‹ฌ์‚ฌ๋ฅผ ๋ถ„๋ฆฌํ•˜๋ฉด ์ง€์—ฝ์ ์ธ ๊ด€๋ฆฌ์™€ ๊ฒฐ์ •์ด ๊ฐ€๋Šฅํ•ด์ง„๋‹ค. ๐Ÿ‹

p211. ์šฐ๋ฆฌ๋Š” ๋•Œ๋•Œ๋กœ ๊ฐ€๋Šฅํ•œ ๋งˆ์ง€๋ง‰ ์ˆœ๊ฐ„๊นŒ์ง€ ๊ฒฐ์ •์„ ๋ฏธ๋ฃจ๋Š” ๋ฐฉ๋ฒ•์ด ์ตœ์„ ์ด๋ผ๋Š” ์‚ฌ์‹ค์„ ๊นŒ๋จน๊ณค ํ•œ๋‹ค. ๊ฒŒ์œผ๋ฅด๊ฑฐ๋‚˜ ๋ฌด์ฑ…์ž„ํ•ด์„œ๊ฐ€ ์•„๋‹ˆ๋‹ค. ์ตœ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋ชจ์•„ ์ตœ์„ ์˜ ๊ฒฐ์ •์„ ๋‚ด๋ฆฌ๊ธฐ ์œ„ํ•ด์„œ๋‹ค. ๐Ÿ‹๐ŸŒต

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

  • ํŽญ๊ท„: EJB์™€ EJB์˜ ๋‹จ์ , POJO๊ฐ€ ๋‚˜์˜ค๊ฒŒ ๋œ ๊ณ„๊ธฐ, Spring์˜ ํƒ„์ƒ ๋ฐฐ๊ฒฝ์„ ์ฐพ์•„๋ณด๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™์•„์š”!

โœ… ์š”์•ฝ

โฌ†๏ธ ์œ„๋กœ ์ด๋™


12์žฅ. ์ฐฝ๋ฐœ์„ฑ

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

  - ๋ชจ๋“  ํ…Œ์ŠคํŠธ๋ฅผ ์‹คํ–‰ํ•œ๋‹ค.
  - ์ค‘๋ณต์„ ์—†์•ค๋‹ค.
  - ํ”„๋กœ๊ทธ๋ž˜๋จธ ์˜๋„๋ฅผ ํ‘œํ˜„ํ•œ๋‹ค.
  - ํด๋ž˜์Šค์™€ ๋ฉ”์„œ๋“œ ์ˆ˜๋ฅผ ์ตœ์†Œ๋กœ ์ค„์ธ๋‹ค.

p217. ์ฆ‰, ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋ฅผ ์ž‘์„ฑํ•˜๋ฉด ์„ค๊ณ„ ํ’ˆ์งˆ์ด ๋†’์•„์ง„๋‹ค. ๐Ÿง

  • ํŽญ๊ท„: ์š”์ƒˆ ๊ฐ€์žฅ ํฐ ๊ณ ๋ฏผ์ด ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์งœ๋Š” ๊ฒƒ์ธ๋ฐ, ๋„ˆ๋ฌด ์ž‘์€ ๋‹จ์œ„์˜ ๊ธฐ๋Šฅ์„ ํ…Œ์ŠคํŠธ ํ•˜๊ธฐ์—๋Š” ์˜๋ฏธ๊ฐ€ ์—†๊ณ  ๋„ˆ๋ฌด ํฐ ๋‹จ์œ„์˜ ๊ธฐ๋Šฅ์„ ํ…Œ์ŠคํŠธ ํ•˜๊ธฐ์—๋Š” ๋„ˆ๋ฌด ๋ณต์žกํ•œ ๊ฒƒ ๊ฐ™๋‹ค. ํ…Œ์ŠคํŠธ๊ฐ€ ํ•„์š”ํ•œ ์ง€์ ์„ ์ฐพ๊ธฐ๊ฐ€ ์–ด๋ ค์šด ๊ฒƒ ๊ฐ™๋‹ค.
  • ์ƒ๋ฆฌ: A-B-C๋กœ ์—ฐ๊ฒฐ๋œ ์•„ํ‚คํ…์ฒ˜๊ฐ€ ์žˆ๋‹ค๊ณ  ํ•˜๋ฉด, A-B์˜ ๊ฒฝ์šฐ๊ฐ€ 100๊ฐ€์ง€, B-C์˜ ๊ฒฝ์šฐ๊ฐ€ 100๊ฐ€์ง€์ผ ๋•Œ, ํฐ ๋‹จ์œ„(ABC)๋กœ ํ…Œ์ŠคํŠธ ํ•˜๋Š” ๊ฒฝ์šฐ๋Š” 100x100๊ฐ€์ง€ ๊ฒฝ์šฐ์˜ ์ˆ˜๊ฐ€ ์ƒ๊ธฐ๊ณ , ์ž‘์€ ๋‹จ์œ„๋กœ ํ…Œ์ŠคํŠธ ํ•˜๋Š” ๊ฒฝ์šฐ(AB, BC)์—๋Š” 100+100๊ฐ€์ง€ ๊ฒฝ์šฐ์˜ ์ˆ˜๊ฐ€ ์ƒ๊ธธ ๊ฒƒ์ด๋‹ค. ํŽญ๊ท„๋‹˜ ๋ง์”€์ฒ˜๋Ÿผ ์–ด๋–ค ๋‹จ์œ„๋กœ ํ…Œ์ŠคํŠธ๋ฅผ ํ•˜๋Š”์ง€, ์–ธ์ œ ํ…Œ์ŠคํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๊ณ  ์–ธ์ œ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์งœ์•ผํ•˜๋Š”์ง€์— ๋Œ€ํ•œ ๊ณ ๋ฏผ์ด ํ•„์š”ํ•œ ๊ฒƒ ๊ฐ™๋‹ค.

p217. ๋ฆฌํŒฉํ† ๋ง ๋‹จ๊ณ„์—์„œ ์‘์ง‘๋„๋ฅผ ๋†’์ด๊ณ , ๊ฒฐํ•ฉ๋„๋ฅผ ๋‚ฎ์ถ”๊ณ , ๊ด€์‹ฌ์‚ฌ๋ฅผ ๋ถ„๋ฆฌํ•˜๋Š” ๋“ฑ..ํ”„๋กœ๊ทธ๋ž˜๋จธ์˜ ์˜๋„๋ฅผ ํ‘œํ˜„ํ•˜๊ณ , ํด๋ž˜์Šค์™€ ๋ฉ”์„œ๋“œ ์ˆ˜๋ฅผ ์ตœ์†Œ๋กœ ์ค„์ด๋Š” ๋‹จ๊ณ„์ด๊ธฐ๋„ ํ•œ๋‹ค. ๐Ÿ™‚

  • ํ›„๋ฏธ: ํ•œ๋ฒˆ์— ๋งŽ์€๊ฒƒ์„ ํ•˜์ง€ ๋ง๊ณ . ์ฝ”๋“œ ์ปจ๋ฒค์…˜์„ ์ง€ํ‚ค๋Š” ๊ฒƒ์€ ์ข‹์€๋ฐ, ๋ฆฌํŒฉํ† ๋ง๋„ ์ฝ”๋“œ๋ฅผ ์งœ๋Š” ๊ณผ์ •์ด๋‹ˆ. ๋ฆฌํŒฉํ† ๋ง์—์„œ ๋‚˜๋จธ์ง€๋ฅผ ์ƒ๊ฐํ•˜์ž.

p222. ๊ทธ๋Ÿฌ๋ฏ€๋กœ ์ž์‹ ์˜ ์ž‘ํ’ˆ์„ ์กฐ๊ธˆ ๋” ์ž๋ž‘ํ•˜์ž. ํ•จ์ˆ˜์™€ ํด๋ž˜์Šค์— ์กฐ๊ธˆ ๋” ์‹œ๊ฐ„์„ ํˆฌ์žํ•˜์ž. ๋” ๋‚˜์€ ์ด๋ฆ„์„ ์„ ํƒํ•˜๊ณ , ํฐ ํ•จ์ˆ˜๋ฅผ ์ž‘์€ ์—ฌ๋Ÿฟ์œผ๋กœ ๋‚˜๋ˆ„๊ณ , ์ž์‹ ์˜ ์ž‘ํ’ˆ์— ์กฐ๊ธˆ๋งŒ ๋” ์ฃผ์˜๋ฅผ ๊ธฐ์šธ์ด์ž. ๐Ÿ™‚๐Ÿง

  • ์ƒ๋ฆฌ: ์ฒ˜์Œ์—๋Š” ์˜ค๋ž˜๊ฑธ๋ฆฌ์ง€๋งŒ, ์—ฐ์ฐจ๊ฐ€ ์Œ“์ผ์ˆ˜๋ก ๋” ๋น ๋ฅด๊ฒŒ, ๊ฒฌ๊ณ ํ•œ ์ฝ”๋“œ๋ฅผ ์งค ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค!

โฌ†๏ธ ์œ„๋กœ ์ด๋™


13์žฅ. ๋™์‹œ์„ฑ

p228. ๋™์‹œ์„ฑ์€ '๋•Œ๋กœ' ์„ฑ๋Šฅ์„ ๋†’์—ฌ์ค€๋‹ค. ๐ŸŒต๐Ÿ™‚๐Ÿง

  • ํ›„๋ฏธ : ์•”๋‹ฌ์˜ ๋ฒ•์น™
  • ํŠœ๋ธŒ: ๋™์‹œ์„ฑ์ด ์„ฑ๋Šฅ์„ ๋†’์ด๊ธฐ ์œ„ํ•œ ๊ฒƒ์€ ๋งž์ง€๋งŒ ํ•ญ์ƒ ๊ทธ๋Ÿฐ ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค.

p228. ์ผ๋ฐ˜์ ์œผ๋กœ ๋™์‹œ์„ฑ ๋ฒ„๊ทธ๋Š” ์žฌํ˜„ํ•˜๊ธฐ ์–ด๋ ต๋‹ค. ๊ทธ๋ž˜์„œ ์ง„์งœ ๊ฒฐํ•จ์œผ๋กœ ๊ฐ„์ฃผ๋˜์ง€ ์•Š๊ณ  ์ผํšŒ์„ฑ ๋ฌธ์ œ๋กœ ์—ฌ๊ฒจ ๋ฌด์‹œํ•˜๊ธฐ ์‰ฝ๋‹ค. ๐Ÿ‹๐ŸŒต๐Ÿ™‚๐Ÿง

p230. ๋™์‹œ์„ฑ ์ฝ”๋“œ๋Š” ๋‹ค๋ฅธ ์ฝ”๋“œ์™€ ๋ถ„๋ฆฌํ•˜๋ผ. ๐Ÿ‹๐ŸŒต

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

p231. ์–ด๋–ค ๊ฒฝ์šฐ์—๋Š” ๊ฐ์ฒด๋ฅผ ๋ณต์‚ฌํ•ด ์ฝ๊ธฐ ์ „์šฉ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ์–ด๋–ค ๊ฒฝ์šฐ์—๋Š” ๊ฐ ์Šค๋ ˆ๋“œ๊ฐ€ ๊ฐ์ฒด๋ฅผ ๋ณต์‚ฌํ•ด ์‚ฌ์šฉํ•œ ํ›„ ํ•œ ์Šค๋ ˆ๋“œ๊ฐ€ ํ•ด๋‹น ์‚ฌ๋ณธ์—์„œ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๋ฐฉ๋ฒ•๋„ ๊ฐ€๋Šฅํ•˜๋‹ค. ๐Ÿ‹

  • ์ƒ๋ฆฌ: ์–ด๋–ป๊ฒŒ ์‚ฌ๋ณธ์ด lock์„ ๋Œ€์‹ ํ•  ์ˆ˜ ์žˆ์„๊นŒ? / ์‚ฌ๋ณธ์„ ์‚ฌ์šฉํ•˜์—ฌ ์—ฌ๋Ÿฌ ์Šค๋ ˆ๋“œ์—์„œ ๋™์‹œ์— ์ฒ˜๋ฆฌ๋ฅผ ํ•œ ํ›„, ์–ด๋–ค ๊ฒฐ๊ณผ๋ฅผ ๋ฐ›์•„๋“ค์ผ์ง€ ์„ ํƒํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋ผ๋Š” ์„ค๋ช…์ด ์™์™ ์™€๋‹ฟ์•˜๋‹ค!
  • ํŽญ๊ท„: ์œ„ ๋‘ ๋ฌธ์žฅ์€ ๋‘ ๊ฐ€์ง€ ํ•ด๊ฒฐ์ฑ…์„ ์ œ์‹œ๋ฅผ ํ•œ ๊ฒƒ.

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

  • ์ƒ๋ฆฌ: ํฐ ๋‹จ์œ„์˜ ์ž๋ฃŒ๋ฅผ ์ž‘์€ ๋‹จ์œ„๋กœ ์ž˜๋ผ์„œ ๊ณต์œ ์ž์›์˜ ๊ณต์œ  ๋ฒ”์œ„๋ฅผ ์ค„์ด๋ผ๋Š” ๋ง์ผ๊นŒ? / ์ตœ๋Œ€ํ•œ ๊ณต์œ ์ž์›์„ ์ค„์ด๋ผ๋Š” ๊ฑธ๊นŒ?

p232. ์ผ๋ถ€ ํด๋ž˜์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ์Šค๋ ˆ๋“œ์— ์•ˆ์ „ํ•˜์ง€ ๋ชปํ•œ๋‹ค. ๐Ÿ™‚

  • ํ›„๋ฏธ: ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋งน์‹ ํ•˜์ง€๋ง์ž.. ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋„ ์‚ฌ๋žŒ์ด ์ง  ์ฝ”๋“œ
  • ์ƒ๋ฆฌ: ๋‚ด๊ฐ€ ๋ชจ๋ฅด๊ฒŒ ๋ฐ”๋€Œ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์กฐ์‹ฌํ•ด๋ผ..

p234. ์ฒ˜๋ฆฌ์œจ์„ ๊ฐ•์กฐํ•˜๋ฉด ๊ธฐ์•„ ํ˜„์ƒ์ด ์ƒ๊ธฐ๊ฑฐ๋‚˜ ์˜ค๋ž˜๋œ ์ •๋ณด๊ฐ€ ์Œ“์ธ๋‹ค. ๊ฐฑ์‹ ์„ ํ—ˆ์šฉํ•˜๋ฉด ์ฒ˜๋ฆฌ์œจ์— ์˜ํ–ฅ์„ ๋ฏธ์นœ๋‹ค. ๐Ÿ‹

  • ์ƒ๋ฆฌ: ์—ฌ๊ธฐ์„œ ์ฒ˜๋ฆฌ์œจ์˜ ์˜๋ฏธ๋Š” ํ•œ๋ฒˆ์— ์ฒ˜๋ฆฌํ•˜๋Š” ์ผ์˜ ํฌ๊ธฐ์ผ๊นŒ? / ์Šคํ„ฐ๋”” ๋ฏธํŒ… ๋„์ค‘ ์ดํ•ดํ•ด๋ฒ„๋ ธ๋‹ค.. ์งง์€ ํƒœ์Šคํฌ๋งŒ ์ฒ˜๋ฆฌํ•˜๋‹ค ๋ณด๋ฉด, ์ฒ˜๋ฆฌ์œจ์€ ๋†’๊ฒ ์ง€๋งŒ ๊ธฐ์•„ํ˜„์ƒ์„ ํ”ผํ•  ์ˆ˜ ์—†์„ ๊ฒƒ!

p234. ๋Œ€๊ฐœ๋Š” ์“ฐ๊ธฐ ์Šค๋ ˆ๋“œ๊ฐ€ ๋ฒ„ํผ๋ฅผ ์˜ค๋žซ๋™์•ˆ ์ ์œ ํ•˜๋Š” ๋ฐ”๋žŒ์— ์—ฌ๋Ÿฌ ์ฝ๊ธฐ ์Šค๋ ˆ๋“œ๊ฐ€ ๋ฒ„ํผ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๋Š๋ผ ์ฒ˜๋ฆฌ์œจ์ด ๋–จ์–ด์ง„๋‹ค. ๐Ÿ‹

  • ์ƒ๋ฆฌ: ํ•œ๋ฒˆ๋„ ์“ฐ๊ธฐ ์Šค๋ ˆ๋“œ์™€ ์ฝ๊ธฐ ์Šค๋ ˆ๋“œ์˜ ์†๋„/์ฒ˜๋ฆฌ์œจ์— ๋Œ€ํ•œ ์ƒ๊ฐ์„ ๋ชปํ•ด๋ดค๋˜ ๊ฒƒ ๊ฐ™๋‹ค. ์“ฐ๊ธฐ/์ฝ๊ธฐ ์Šค๋ ˆ๋“œ๊ฐ€ ๋ชจ๋‘ ๋™์ผํ•œ ์กฐ๊ฑด ๋‚ด์— ์žˆ์„ ๊ฒฝ์šฐ, ์“ฐ๊ธฐ ์Šค๋ ˆ๋“œ๊ฐ€ ๋” ๋Š๋ฆด๊นŒ? ์“ฐ๊ธฐ๊ฐ€ ๋” ๋Š๋ฆฌ๋‹ค๋ฉด ์™œ ๋” ๋Š๋ฆด๊นŒ? ANS: ์“ฐ๊ธฐ๋ฅผ ์œ„ํ•ด์„œ๋Š” FAKE READ๋ฅผ ํ•œ๋ฒˆ ๋” ๊ฑฐ์นœ๋‹ค๊ณ  ํ•œ๋‹ค!

p235. ์ฃผ์˜ํ•ด์„œ ์„ค๊ณ„ํ•˜์ง€ ์•Š์œผ๋ฉด ๋ฐ๋“œ๋ฝ, ๋ผ์ด๋ธŒ๋ฝ, ์ฒ˜๋ฆฌ์œจ ์ €ํ•˜, ํšจ์œจ์„ฑ ์ €ํ•˜ ๋“ฑ์„ ๊ฒช๋Š”๋‹ค. ๐Ÿ‹

p235. ๊ณต์œ  ๊ฐ์ฒด ํ•˜๋‚˜์—๋Š” ๋ฉ”์„œ๋“œ ํ•˜๋‚˜๋งŒ ์‚ฌ์šฉํ•˜๋ผ. ๐Ÿ‹๐Ÿง

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

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

  • ์ƒ๋ฆฌ: ๋‹น์—ฐํžˆ ์•ˆ์ „ํ•˜๊ฒŒ ์ž„๊ณ„์˜์—ญ์˜ ํฌ๊ธฐ๋ฅผ ๋„“ํ˜€์•ผํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋Š”๋ฐ, ์ด๋Ÿฌํ•œ ์ ์ด ์Šค๋ ˆ๋“œ๊ฐ„ ๊ฒฝ์Ÿ๊ณผ ๊ฐ™์ด ์‹œ์Šคํ…œ ์„ฑ๋Šฅ์„ ๋‚ฎ์ถ”๋Š” ์›์ธ์ด ๋  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์„ ๋ฐฐ์›Œ๊ฐ„๋‹ค.

p236. ์˜๊ตฌ์ ์œผ๋กœ ๋Œ์•„๊ฐ€๋Š” ์‹œ์Šคํ…œ์„ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ์ž ์‹œ ๋Œ๋‹ค ๊น”๋”ํ•˜๊ฒŒ ์ข…๋ฃŒํ•˜๋Š” ์‹œ์Šคํ…œ์„ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋‹ค๋ฅด๋‹ค. ๐Ÿ‹๐ŸŒต

  • ํŠœ๋ธŒ: ์ฒ˜์Œ๋ถ€ํ„ฐ ์ข…๋ฃŒ ์ฝ”๋“œ๋ฅผ ์—ผ๋‘ํ•ด ๋‘๊ณ  ํ”„๋กœ๊ทธ๋žจ์„ ์„ค๊ณ„ํ•ด์•ผ ํ•œ๋‹ค.

p237. ์ฝ”๋“œ๊ฐ€ ์˜ฌ๋ฐ”๋ฅด๋‹ค๊ณ  ์ฆ๋ช…ํ•˜๊ธฐ๋Š” ํ˜„์‹ค์ ์œผ๋กœ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค. ํ…Œ์ŠคํŠธ๊ฐ€ ์ •ํ™•์„ฑ์„ ๋ณด์žฅํ•˜์ง€๋Š” ์•Š๋Š”๋‹ค. ๐Ÿ‹

p237. ํ…Œ์ŠคํŠธ๊ฐ€ ์‹คํŒจํ•˜๋ฉด ์›์ธ์„ ์ถ”์ ํ•˜๋ผ. ๋‹ค์‹œ ๋Œ๋ ธ๋”๋‹ˆ ํ†ต๊ณผํ•˜๋”๋ผ๋Š” ์ด์œ ๋กœ ๊ทธ๋ƒฅ ๋„˜์–ด๊ฐ€๋ฉด ์ ˆ๋Œ€๋กœ ์•ˆ ๋œ๋‹ค. ๐Ÿ‹

  • ์ƒ๋ฆฌ: ๊ทธ๋Ÿฌ๋‚˜ ๋™์‹œ์„ฑ ๋ฌธ์ œ๋ผ๋ฉด ๋ฐœ๊ฒฌ๊ณผ ์ฒ˜๋ฆฌ๊ฐ€ ์–ด๋ ค์šด ๊ฒƒ ๊ฐ™๋‹ค.

p238. ์ผํšŒ์„ฑ ๋ฌธ์ œ๋ž€ ์กด์žฌํ•˜์ง€ ์•Š๋Š”๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๋Š” ํŽธ์ด ์•ˆ์ „ํ•˜๋‹ค. '์ผํšŒ์„ฑ' ๋ฌธ์ œ๋ฅผ ๊ณ„์† ๋ฌด์‹œํ•œ๋‹ค๋ฉด ์ž˜๋ชป๋œ ์ฝ”๋“œ ์œ„์— ์ฝ”๋“œ๊ฐ€ ๊ณ„์† ์Œ“์ธ๋‹ค. ๐Ÿ‹

  • ์ƒ๋ฆฌ: ์ผํšŒ์„ฑ ์˜ค๋ฅ˜๋ผ๊ณ  ์น˜๋ถ€ํ•˜๋ฉฐ, ์ž˜๋ชป๋œ ์ฝ”๋“œ ์œ„์— ๊ณ„์† ์ฝ”๋“œ๋ฅผ ์Œ“์ง€ ๋ง์ž. ์ด๋Ÿฐ ์‹์œผ๋กœ ํšŒ์‚ฌ์—์„œ ์ผ์„ ํ•˜๋ฉด, ์กฐ๋งŒ๊ฐ„ ๋‰ด์Šค์— ๋‚˜์˜ค๊ฒŒ ๋  ๊ฒƒ์ด๋‹ค.

p238. ๋‹ค๋ฅธ ํ”Œ๋žซํผ์—์„œ ๋Œ๋ ค๋ด๋ผ ๐Ÿ™‚

  • ํ›„๋ฏธ: os๋งˆ๋‹ค ๋ฉ”๋ชจ๋ฆฌ ์ •์ฑ…, ์Šค์ผ€์ฅด๋Ÿฌ๊ฐ€ ๋‹ค๋ฅด๋‹ˆโ€ฆ

p238. ์Šค๋ ˆ๋“œ ํ™˜๊ฒฝ ๋ฐ–์—์„œ ์ƒ๊ธฐ๋Š” ๋ฒ„๊ทธ์™€ ์Šค๋ ˆ๋“œ ํ™˜๊ฒฝ์—์„œ ์ƒ๊ธฐ๋Š” ๋ฒ„๊ทธ๋ฅผ ๋™์‹œ์— ๋””๋ฒ„๊น…ํ•˜์ง€ ๋งˆ๋ผ. ๋จผ์ € ์Šค๋ ˆ๋“œ ํ™˜๊ฒฝ ๋ฐ–์—์„œ ์ฝ”๋“œ๋ฅผ ์˜ฌ๋ฐ”๋กœ ๋Œ๋ ค๋ผ. ๐Ÿ‹๐ŸŒต๐Ÿ™‚๐Ÿง

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

p239. ์Šค์™€ํ•‘์„ ์ผ์œผํ‚ค๋ ค๋ฉด ํ”„๋กœ์„ธ์„œ ์ˆ˜๋ณด๋‹ค ๋งŽ์€ ์Šค๋ ˆ๋“œ๋ฅผ ๋Œ๋ฆฐ๋‹ค. ์Šค์™€ํ•‘์ด ์žฆ์„์ˆ˜๋ก ์ž„๊ณ„์˜์—ญ์„ ๋นผ๋จน์€ ์ฝ”๋“œ๋‚˜ ๋ฐ๋“œ๋ฝ์„ ์ผ์œผํ‚ค๋Š” ์ฝ”๋“œ๋ฅผ ์ฐพ๊ธฐ ์‰ฌ์›Œ์ง„๋‹ค. ๐Ÿ‹

  • ์ƒ๋ฆฌ: ์ฃผ์›Œ๋“ค์€ ์ด์•ผ๊ธฐ์ง€๋งŒ, โ€œ์Šค์™€ํ•‘์ด ์ผ์–ด๋‚˜๋Š” ์ˆœ๊ฐ„๋ถ€ํ„ฐ ๊ทธ ์ฝ”๋“œ๋Š” ๋ชป์“ด๋‹ค.โ€๋ผ๋Š” ๋ง์ด ์žˆ๋‹ค.

p240. ๋‹ค์ค‘ ์Šค๋ ˆ๋“œ ์ฝ”๋“œ๋Š” ํ”Œ๋žซํผ์— ๋”ฐ๋ผ ๋‹ค๋ฅด๊ฒŒ ๋Œ์•„๊ฐ„๋‹ค. ๋”ฐ๋ผ์„œ ์ฝ”๋“œ๊ฐ€ ๋Œ์•„๊ฐˆ ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋Š” ํ”Œ๋žซํผ ์ „๋ถ€์—์„œ ํ…Œ์ŠคํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•ด์•ผ ๋งˆ๋•…ํ•˜๋‹ค. ๐Ÿ‹

p241. yield()๋ฅผ ์‚ฝ์ž…ํ•˜๋ฉด ์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋˜๋Š” ๊ฒฝ๋กœ๊ฐ€ ๋ฐ”๋€๋‹ค. ๐Ÿ‹๐Ÿ™‚

  • ํ›„๋ฏธ: ๋ณ‘๋ ฌํ™” ์˜คํ”ˆ์†Œ์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ yield๋ฅผ ์‚ฌ์šฉํ•˜๋˜๋ฐ ์ด๋Ÿฐ ์ด์œ ์ผ๋ ค๋‚˜โ€ฆ ๊ณต๋ถ€์ข€ ํ•˜์ž
  • ์ƒ๋ฆฌ: ๋žœ๋คํ•จ์„ ๋ถ€์—ฌํ•˜์—ฌ ํ…Œ์ŠคํŠธ ์‹ ๋ขฐ๋„๋ฅผ ๋†’์ด๋Š” ๋ฐฉ๋ฒ•์ด๋ผ๋‹ˆ!

p243. ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ๊ณต์œ  ์ƒํƒœ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ์ฑ…์ž„์„ ๋– ๋„˜๊ธฐ์ง€ ์•Š๋Š”๋‹ค. ํ•„์š”ํ•˜๋‹ค๋ฉด ๊ฐ์ฒด ์„ค๊ณ„๋ฅผ ๋ณ€๊ฒฝํ•ด ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ํŽธ์˜๋ฅผ ์ œ๊ณตํ•œ๋‹ค. ๐Ÿ‹๐Ÿง

  • ์ƒ๋ฆฌ: ํด๋ผ์ด์–ธํŠธ๋Š” ์–ด๋–ค ์ƒˆ๋กœ์šด ์ด์Šˆ๋ฅผ ๋งŒ๋“ค์–ด์ค„์ง€ ๊ฑฑ์ •๋  ์ˆ˜ ์žˆ๋‹ค.

โฌ†๏ธ ์œ„๋กœ ์ด๋™


14์žฅ. ์ ์ง„์ ์ธ ๊ฐœ์„ 

p254. ํ”„๋กœ๊ทธ๋ž˜๋ฐ์€ ๊ณผํ•™๋ณด๋‹ค๋Š” ๊ณต์˜ˆ์— ๊ฐ€๊น๋‹ค. ๊นจ๋—ํ•œ ์ฝ”๋“œ๋ฅผ ์งœ๋ ค๋ฉด ์ง€์ €๋ถ„ํ•œ ์ฝ”๋“œ๋ฅผ ์ง  ๋’ค์— ์ •๋ฆฌํ•ด์•ผ ํ•œ๋‹ค๋Š” ์˜๋ฏธ๋‹ค. ๐ŸŒต๐Ÿ‹

  • ํŠœ๋ธŒ: ํ”„๋กœ๊ทธ๋ž˜๋ฐ์€ ์ •ํ•ด์ง„ ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค๊ธฐ ๋ณด๋‹ค ์ง€์ €๋ถ„ํ•œ ์ฝ”๋“œ๋ฅผ ์ ์ฐจ ์ •๋ฆฌํ•ด ๊ฐ€๋Š” ๊ณผ์ •์ด๋‹ค.

p264. ๋‚˜๋Š” ๋‘ ์ธ์ˆ˜ ์œ ํ˜•์„ ๋‹จ๊ณ„์ ์œผ๋กœ ์ถ”๊ฐ€ํ–ˆ๋‹ค. ๋จผ์ € String ์ธ์ˆ˜ ์œ ํ˜•์„ ์ถ”๊ฐ€ํ•ด ๋‹ค์Œ ์ฝ”๋“œ๋ฅผ ์–ป์—ˆ๋‹ค. ๐Ÿ‹

  • ์ƒ๋ฆฌ: ๋ชจ๋“  ์ธ์ˆ˜๋ฅผ ํ•œ๊บผ๋ฒˆ์— ์ฒ˜๋ฆฌํ•˜๋ ค๊ณ  ํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค๋Š”, ์‰ฌ์šด ์ธ์ˆ˜๋ถ€ํ„ฐ ๋‹จ๊ณ„์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜์ž.

p269. ์ฝ”๋“œ ๊ตฌ์กฐ๋ฅผ ์œ ์ง€๋ณด์ˆ˜ํ•˜๊ธฐ ์ข‹์€ ์ƒํƒœ๋กœ ๋งŒ๋“ค๋ ค๋ฉด ์ง€๊ธˆ์ด ์ ๊ธฐ๋ผ ํŒ๋‹จํ–ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋‚˜๋Š” ๊ธฐ๋Šฅ์„ ๋” ์ด์ƒ ์ถ”๊ฐ€ํ•˜์ง€ ์•Š๊ธฐ๋กœ ๊ฒฐ์ •ํ•˜๊ณ  ๋ฆฌํŒฉํ„ฐ๋ง์„ ์‹œ์ž‘ํ–ˆ๋‹ค. ๐Ÿง

  • ํŽญ๊ท„: ๋ฆฌํŒฉํ† ๋ง์˜ ํƒ€์ด๋ฐ์ด ์ •๋ง ์ค‘์š”ํ•˜๊ณ  ๊ทธ ํƒ€์ด๋ฐ์„ ๋†“์น˜๋ฉด ๋‹ค ๋’ค์—Ž๋Š” ์„ ํƒ ๋ฐ–์— ์—†์„ ๊ฒƒ ๊ฐ™๋‹ค.

  • ํ›„๋ฏธ: ๊ด€๋ จ ๋งํฌ โ€œRecode๋Š” 2๋ณด ์ „์ง„์„ ์œ„ํ•œ 1๋ณด ํ›„ํ‡ด์ž…๋‹ˆ๋‹ค.โ€๋ผ๋Š” ๋ง์ด ์™€๋‹ฟ์•˜์Šต๋‹ˆ๋‹ค.

p269. ์ฒซ์งธ, ์ธ์ˆ˜ ์œ ํ˜•์— ํ•ด๋‹นํ•˜๋Š” HashMap์„ ์„ ํƒํ•˜๊ธฐ ์œ„ํ•ด ์Šคํ‚ค๋งˆ ์š”์†Œ์˜ ๊ตฌ๋ฌธ์„ ๋ถ„์„ํ•œ๋‹ค. ๋‘˜์งธ, ๋ช…๋ นํ–‰ ์ธ์ˆ˜์—์„œ ์ธ์ˆ˜ ์œ ํ˜•์„ ๋ถ„์„ํ•ด ์ง„์งœ ์œ ํ˜•์œผ๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค. ์…‹์งธ, getXXX ๋ฉ”์„œ๋“œ๋ฅผ ๊ตฌํ˜„ํ•ด ํ˜ธ์ถœ์ž์—๊ฒŒ ์ง„์งœ ์œ ํ˜•์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ๐ŸŒต

p270. ํ”„๋กœ๊ทธ๋žจ์„ ๋ง์น˜๋Š” ๊ฐ€์žฅ ์ข‹์€ ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜๋Š” ๊ฐœ์„ ์ด๋ผ๋Š” ์ด๋ฆ„ ์•„๋ž˜ ๊ตฌ์กฐ๋ฅผ ํฌ๊ฒŒ ๋’ค์ง‘๋Š” ํ–‰์œ„๋‹ค. ์–ด๋–ค ํ”„๋กœ๊ทธ๋žจ์€ ๊ทธ์ € ๊ทธ๋Ÿฐ '๊ฐœ์„ '์—์„œ ๊ฒฐ์ฝ” ํšŒ๋ณตํ•˜์ง€ ๋ชปํ•œ๋‹ค. '๊ฐœ์„ '์ „๊ณผ ๋˜‘๊ฐ™์ด ํ”„๋กœ๊ทธ๋žจ์„ ๋Œ๋ฆฌ๊ธฐ๊ฐ€ ์•„์ฃผ ์–ด๋ ต๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๐Ÿ‹๐ŸŒต๐Ÿง

  • ์ƒ๋ฆฌ: ์ž‘์€ ๊ฐœ์„ ์—๋„ ๋ฌด๋„ˆ์ง€๋Š” ์ฝ”๋“œ๊ฐ€ ์ข‹์€ ์ฝ”๋“œ์˜€์„๊นŒ? ์•„๋ฌดํŠผ ๋‚˜์˜ ๊ฒฝ์šฐ์—๋Š”, ์ž‘์€ ๊ฐœ์„ ๋งŒ์œผ๋กœ๋„ ๋Œ์•„๊ฐ€์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๊ธดํ–ˆ๋‹ค.

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

p270. TDD๋Š” ์–ธ์ œ ์–ด๋Š ๋•Œ๋ผ๋„ ์‹œ์Šคํ…œ์ด ๋Œ์•„๊ฐ€์•ผ ํ•œ๋‹ค๋Š” ์›์น™์„ ๋”ฐ๋ฅธ๋‹ค. ๋‹ค์‹œ ๋งํ•ด TDD๋Š” ์‹œ์Šคํ…œ์„ ๋ง๊ฐ€๋œจ๋ฆฌ๋Š” ๋ณ€๊ฒฝ์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค. ๐ŸŒต๐Ÿง

  • ํŽญ๊ท„: ํ…Œ์ŠคํŠธ์ฝ”๋“œ๊ฐ€ ์ •๋ง ์ค‘์š”ํ•œ ๊ฒƒ ๊ฐ™์€๋ฐ, ์—…๋ฌด์— ์น˜์—ฌ ํ…Œ์ŠคํŠธ์ฝ”๋“œ๋ฅผ ๋ชป(์•ˆ) ์งœ๋Š” ๊ฒŒ ์•„์‰ฌ์› ๋‹ค.

p272. ๊ธด ๋ณ€์ˆ˜ ์ด๋ฆ„์ด ์‹ซ์—ˆ๋‹ค. ๐ŸŒต

  • ์ƒ๋ฆฌ: ํšŒ์‚ฌ ์ฝ”๋“œ์—์„œ ๊ฐ€์žฅ ํž˜๋“  ๊ฒƒ์€ ์ค„์ž„๋งโ€ฆ ๊ทธ๋ฆฌ๊ณ  ๊ทธ๊ฒƒ์ด ์–ด๋–ค ๋ง์˜ ์•ฝ์ž์ธ์ง€ ์•„๋ฌด๋„ ๋ชจ๋ฅด๋”๋ผ..

  • ํ›„๋ฏธ: ์ค„์ž„๋ง ์“ฐ๋Š”๊ฑด ์ข‹์€๋ฐ ๋ชจ๋ฅด๋Š” ์‚ฌ๋žŒ์ด ์žˆ์„ ์ˆ˜ ๋„ ์žˆ์œผ๋‹ˆ.. ๊ฐ™์€ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๋Š” ์‚ฌ๋žŒ๋“ค๋ผ๋ฆฌ๋Š” ๊ณต์œ ๊ฐ€ ํ•„์ˆ˜ ์ธ๊ฒƒ ๊ฐ™๋‹ค.

  • ํŠœ๋ธŒ: ๋ช…ํ™•ํ•œ ๋ณ€์ˆ˜ ์ด๋ฆ„์„ ๊ฐ•์กฐํ•˜๋˜ ์ €์ž๋„ ์ค„์ž„๋ง์„ ์“ฐ๋Š”๊ตฌ๋‚˜โ€ฆ

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

p320. ํ•˜์ง€๋งŒ ๊ทธ๋ ‡๋‹ค๊ณ  ArgsException ํด๋ž˜์Šค๊ฐ€ ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€ ํ˜•์‹์„ ์ฒ˜๋ฆฌํ•ด์•ผ ์˜ณ์„๊นŒ? ์†”์งํ•˜๊ฒŒ ๋งํ•ด, ์ด๊ฒƒ์€ ์ ˆ์ถฉ์•ˆ์ด๋‹ค. ArgsException์—๊ฒŒ ๋งก๊ฒจ์„œ๋Š” ์•ˆ ๋œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋Š” ๋…์ž๋ผ๋ฉด ์ƒˆ๋กœ์šด ํด๋ž˜์Šค๊ฐ€ ํ•„์š”ํ•˜๋‹ค. ๐Ÿง

  • ํŽญ๊ท„: SRP ์›์น™์ด ์ ˆ๋Œ€์ ์ธ ์›์น™์ด๋ผ๊ธฐ ๋ณด๋‹ค๋Š” ๊ถŒ์žฅ ์‚ฌํ•ญ์ธ ๊ฒƒ ๊ฐ™๋‹ค. ๋‹น์—ฐํžˆ ์ง€์ผœ์•ผ ๋˜์ง€๋งŒ ๋•Œ์— ๋”ฐ๋ผ ์ ˆ์ถฉ๋„ ๊ฐ€๋Šฅํ•œ ๋Š๋‚Œ?

p321.๊ทธ์ € ๋Œ์•„๊ฐ€๋Š” ์ฝ”๋“œ๋งŒ์œผ๋กœ๋Š” ๋ถ€์กฑํ•˜๋‹ค. ๋Œ์•„๊ฐ€๋Š” ์ฝ”๋“œ๊ฐ€ ์‹ฌํ•˜๊ฒŒ ๋ง๊ฐ€์ง€๋Š” ์‚ฌ๋ก€๋Š” ํ”ํ•˜๋‹ค. ๋‹จ์ˆœํžˆ ๋Œ์•„๊ฐ€๋Š” ์ฝ”๋“œ์— ๋งŒ์กฑํ•˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋จธ๋Š” ์ „๋ฌธ๊ฐ€ ์ •์‹ ์ด ๋ถ€์กฑํ•˜๋‹ค. ๐Ÿง

โฌ†๏ธ ์œ„๋กœ ์ด๋™


๐Ÿ’ฌ ๋Š๋‚€์ 

ํŒ€์› ๋Š๋‚€์ 
ํŽญ๊ท„ ์ด ์ฑ…์„ ์ฝ๊ณ  ๋‚˜๋ฉด ๋‚ด ์ฝ”๋“œ ํ•œ ์ค„์— ํฐ ์ฑ…์ž„๊ฐ์„ ๋Š๋ผ๊ฒŒ ๋œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‚˜์œ ์ฝ”๋“œ๊ฐ€ ์–ผ๋งˆ๋‚˜ ๋‚˜์œ์ง€๋„ ๊นจ๋‹ซ๊ฒŒ ๋œ๋‹ค. ์ €์ž๊ฐ€ ์šด์˜ํ•˜๋Š” ์‚ฌ์ดํŠธ์— ๊ฐ•์—ฐ ์œ ํŠœ๋ธŒ ๋งํฌ๋„ ์žˆ์œผ๋‹ˆ ๊ฐ™์ด ๋ณด๋ฉด์„œ ์ฝ์–ด๋ณด๋Š” ๊ฑธ ์ถ”์ฒœํ•œ๋‹ค. ๋‹ค๋งŒ ์ด ์ฑ…์€ ๊ฐœ๋ฐœ ์ดˆ๋ณด์ž๋ฅผ ์œ„ํ•œ ์ฑ…์ด ์ ˆ๋Œ€ ์•„๋‹ˆ๋ฉฐ, ์–ด๋Š ์ •๋„ ๊ฐœ๋ฐœ์ด ์ˆ™๋ จ๋œ ์ฃผ๋‹ˆ์–ด ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ์ฑ…์ด๋‹ค. ๋˜ํ•œ ์˜ˆ์‹œ ์ฝ”๋“œ๊ฐ€ ๋ชจ๋‘ ์ž๋ฐ”์ด๊ธฐ ๋•Œ๋ฌธ์— ์ž๋ฐ”์™€ ๋น„์Šทํ•œ ์–ธ์–ด๋ฅผ ํ•œ ๋ฒˆ๋„ ์จ๋ณด์ง€ ์•Š์•˜๋‹ค๋ฉด ์ฝ๊ธฐ ์‰ฝ์ง€ ์•Š์„ ๊ฒƒ์ด๋‹ค. ์—ฌ๊ธฐ์„œ๋ถ€ํ„ฐ๋Š” TMI์ธ๋ฐ, ์ €์ž๋Š” "๋‚˜์œ ์ฝ”๋“œ์—์„œ ์•…์ทจ๊ฐ€ ๋‚œ๋‹ค"๋Š” ํ‘œํ˜„์„ ์ž์ฃผ ์“ฐ๋Š”๋ฐ ์ง„์งœ ๋‚ด ์ฝ”๋“œ์—์„œ ๋ƒ„์ƒˆ๊ฐ€ ๋‚  ๊ฒƒ ๊ฐ™์€ ๊ธฐ๋ถ„์ด ๋“ ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ €์ž๊ฐ€ ์“ด ์ฑ…๋“ค์˜ ์ œ๋ชฉ์„ ๋ณด๋ฉด ๋งจ ์•ž ๋‹จ์–ด๊ฐ€ ๊ฑฐ์˜ ํ•ญ์ƒ "Clean"์ด๋‹ค.
์ƒ๋ฆฌ ํด๋ฆฐ์ฝ”๋“œ์— ๋Œ€ํ•œ ์ƒ๊ฐ์„ ์ฒ˜์Œ์œผ๋กœ ํ•˜๊ฒŒ ๋œ ๊ณ„๊ธฐ๊ฐ€ ๋๋‹ค. ์†”์งํžˆ ๋งํ•˜์ž๋ฉด, ์ด ์ฑ… ๋‚ด์šฉ์ด ์ดํ•ดํ•˜๊ธฐ ๋งค์šฐ ์‰ฌ์šด ํŽธ์€ ์•„๋‹Œ ๊ฒƒ ๊ฐ™๋‹ค. ํ•˜์ง€๋งŒ ๋‹ค๋ฅธ ์ž๋ฃŒ(๋ธ”๋กœ๊ทธ๋‚˜ ์œ ํˆฌ๋ธŒ)๋ฅผ ์ฐธ๊ณ ํ•ด์„œ๋ผ๋„ ์ฝ์œผ๋ฉด ๋„์›€์ด ๋  ๊ธฐ๋ณธ์ ์ธ ์„œ์ ์ด๋ผ๊ณ  ์ƒ๊ฐํ•œ๋‹ค. Java Spring์— ๋Œ€ํ•œ ๋‚ด์šฉ์ด ์˜ˆ์‹œ๋กœ ๋“ค์–ด๊ฐ€์žˆ์–ด์„œ ๊ทธ๋Ÿฐ์ง€, ํ›„๋ฐ˜๋ถ€๋กœ ๊ฐˆ์ˆ˜๋ก ์ €์ž๊ฐ€ ๋งํ•˜๊ณ ์ž ํ•˜๋Š” ํฌ์ธํŠธ๋ฅผ ์ฐพ๊ธฐ ์–ด๋ ค์› ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ํŒ€์›๋“ค์˜ ์ƒ๊ฐ์ด๋‚˜ ๊ฒฝํ—˜์„ ๊ณต์œ ๋ฐ›์œผ๋ฉด์„œ ๋งŽ์€ ๊นจ๋‹ฌ์Œ์„ ์–ป์„ ์ˆ˜ ์žˆ์—ˆ๋‹ค. ํ˜„์—… ์ค‘, ์ด ์ฑ…์—์„œ ๋ฐฐ์šด ๋‚ด์šฉ๊ณผ ๊ด€๋ จ๋œ ์ด์•ผ๊ธฐ๋‚˜ ์ฝ”๋“œ๊ฐ€ ๋‚˜์˜ค๋ฉด ๊ฝค ์žฌ๋ฏธ์žˆ๋‹ค.
ํ›„๋ฏธ ์ด ์ฑ… ๋•๋ถ„์— ๋‹จ์ˆœ์„ฑ, ๋‹จ์ผ ์ฑ…์ž„ ๋“ฑ ์ข‹์€ ์ฝ”๋“œ์˜ ๊ธฐ์ค€์— ๋Œ€ํ•ด ๋ฐฐ์šธ ์ˆ˜ ์žˆ์—ˆ๊ณ , ์•ž์œผ๋กœ ์ฝ”๋“œ๋ฅผ ์งœ๋Š”๋ฐ ์žˆ์–ด ๊ณ„์† ์ƒ๊ฐ ํ•  ๊ฒƒ ๊ฐ™๋‹ค. ํ•˜์ง€๋งŒ ์ด ์ฑ…์„ ์ฝ์œผ๋ฉด์„œ ๋ช‡๋ช‡ ๊ณต๊ฐ๋˜์ง€ ์•Š๋Š” ๊ธ€๊ท€๋“ค์ด ์žˆ์—ˆ๋Š”๋ฐ ์ด๋Ÿฐ ๊ธ€๊ท€๋“ค์€ ๋ณธ์ธ์˜ ํŒ๋‹จํ•˜์— ์ ๋‹นํžˆ ๊ฑธ๋Ÿฌ ๋“ค์œผ๋ฉด ๋ ๊ฒƒ ๊ฐ™๋‹ค. ์ฝ”๋”ฉ ์ปจ๋ฒค์…˜์—๋Š” ์ ˆ๋Œ€์ ์ธ ์ •๋‹ต์€ ์—†๋Š”๊ฒƒ ๊ฐ™๋‹ค. ์ฝ”๋”ฉ ์ปจ๋ฒค์…˜์€ ํŒ€๋ฐ”ํŒ€, ํšŒ๋ฐ”ํšŒ, ์–ธ๋ฐ”์–ธ(์–ธ์–ด๋ฐ”์ด์–ธ์–ด)๋“ฑ ์†ํ•œ ๋‹จ์ฒด์˜ ์•ฝ์†์ผ ๋ฟ์ธ๊ฒƒ ๊ฐ™๋‹ค.

โฌ†๏ธ ์œ„๋กœ ์ด๋™