๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๋‚˜์˜ ์„ฑ์žฅ ์ผ์ง€ ๐Ÿƒ‍โ™‚๏ธ

[๊ฐ์ƒ๋ฌธ] Effective Java๋ฅผ ์ฝ๊ณ  ๋‚˜์„œ

by GroovyArea 2022. 10. 26.

์ฑ…์„ ์ฝ์€ ์ด์œ 

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

โ€‹

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

์ฑ… ์ฝ์„ ์‹œ๊ฐ„ ์—†๋‹ค๋Š” ํ•‘๊ณ„๋กœ ๋ฏธ๋ฃจ๊ณ  ๋ฏธ๋ฃจ๋‹ค๊ฐ€ ๋ฐ”๋กœ ์ง€๋ฅด๊ธฐ๋กœ ๊ฒฐ์‹ฌํ–ˆ๋‹ค.

โ€‹

์ƒˆ ์ฑ…์„ ์‚ฌ๊ธฐ์—๋Š” ๊ฐ€๊ฒฉ์ด ๋ถ€๋‹ด์Šค๋Ÿฝ๊ธฐ ๋•Œ๋ฌธ์—, ์ด๋ฒˆ ๊ธฐํšŒ์— ๋‹น๊ทผ ๋งˆ์ผ“์„ ์ด์šฉํ•ด๋ณด๊ธฐ๋กœ ํ–ˆ๋‹ค.

๋‹คํ–‰ํžˆ ๊ฐ€๊นŒ์šด ๋™๋„ค์— ํŒ๋งค์ž ๋ถ„์ด ๊ณ„์…”์„œ ๋น„๋ฐ”๋žŒ์„ ๊ฐ€๋ฅด๋ฉฐ ๊ฑฐ๋ž˜ ์žฅ์†Œ๋กœ ๊ฐ”๋‹ค.

๋„ค๊ณ ๊นŒ์ง€ ํ•ด์ฃผ์‹œ๊ณ  ๊ฐœ๋ฐœ์ž ์ทจ์ค€ ์‘์›๊นŒ์ง€ ํ•ด์ฃผ์…”์„œ ๋‚˜์˜ ์ฒซ ๋‹น๊ทผ ๊ฑฐ๋ž˜์— ๋งค์šฐ ๋”ฐ์Šคํ•จ์„ ๋А๊ผˆ๊ณ , ์Šคํƒ€ํŠธ๊ฐ€ ์ข‹์„ ๊ฑฐ๋ผ๋Š” ๊ธฐ๋Œ€๊ฐ€ ๋˜์—ˆ๋‹ค!

 

์ฝ๊ธฐ ์ „

๊ทธ ๋™์•ˆ ์ทจ์—…์„ ์œ„ํ•œ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๋ฉฐ ์ฝ”๋“œ ๋ฆฌํŒฉํ† ๋ง์— ๋งŽ์€ ์‹œ๊ฐ„๊ณผ ๋ˆ์„ ๋“ค์˜€๋‹ค.

๋น„์šฉ์„ ๋“ค์ด๋ฉฐ ์ฝ”๋“œ ๋ฆฌ๋ทฐ๋ฅผ ๋ฐ›์•˜๊ณ , ๊ทธ ๊ณผ์ •์—์„œ ์–ป์€ ๊ฒŒ ์ฐธ ๋งŽ์•˜๋‹ค.

โ€‹

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

โ€‹

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

 

์ฝ์€ ํ›„

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

โ€‹

์™„๋ฒฝํ•˜๊ฒŒ ์Šต๋“ํ–ˆ๋‹ค๊ณ  ํ•˜๋ฉด ๊ฑฐ์ง“๋ง์ด์ง€๋งŒ, ๊ธฐ๋Œ€๋ณด๋‹ค ์‹ค๋งˆ๋ฆฌ๊ฐ€ ํ’€๋ฆฐ ๋А๋‚Œ์ด๋‹ค.

๋˜ ์ˆ˜์ค€์„ ๋†’ํžˆ๋Š” ๊ฐœ๋ฐœ ๊ณต๋ถ€๋Š” ์ธ๊ฐ•๋„ ์ข‹์ง€๋งŒ, ์ข‹์€ ์ฑ…์„ ์ฝ์œผ๋ฉด์„œ ํ•ด์•ผ ๋œ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“  ์ฑ…์ด๋‹ค.

โ€‹

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

โ€‹

โ€‹

์›๋ž˜ ๊ฐ™์€ ๊ธธ์„ ๊ฐ€๊ณ  ์žˆ๋Š” ํ˜•๋“ค์—๊ฒŒ ์Šคํ„ฐ๋””๋ฅผ ๊ฐ™์ด ํ•˜์ž๊ณ  ํ•˜๊ณ  ํ˜ผ์ž ๋จผ์ € ํ›‘์–ด๋ณด๋‹ค๊ฐ€ ๊ณ„ํš์„ ์žก์„ ์ƒ๊ฐ์ด์—ˆ๋Š”๋ฐ, ์žฌ๋ฐŒ์–ด์„œ ๋‹ค ์ฝ์–ด๋ฒ„๋ ธ๋‹ค.  ์ถ”์ฒœ์ด๋‚˜ ๊ณต์œ ๋ฅผ ํ•ด๋“œ๋ ค์•ผ๊ฒ ๋‹ค!

 

๋ฐ˜์‘ํ˜•