๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐ŸŒˆ Refactoring

์ž๋ฐ” ์ปจ๋ฒค์…˜ ์ •๋ฆฌ

by discphy-blog 2022. 11. 22.
๋ฐ˜์‘ํ˜•

์ž๋ฐ” ์ปจ๋ฒค์…˜

๋ ˆ๊ฑฐ์‹œ ์ฝ”๋“œ


1. ๊ธฐ๋Šฅ ๋ชฉ๋ก ๊ตฌํ˜„์„ ์žฌ๊ฒ€ํ† ํ•œ๋‹ค

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


2. ๊ฐ’์„ ํ•˜๋“œ์ฝ”๋”ฉํ•˜์ง€ ๋งˆ๋ผ

๋ฌธ์ž์—ด, ์ˆซ์ž ๋“ฑ์˜ ๊ฐ’์„ ํ•˜๋“œ์ฝ”๋”ฉํ•˜์ง€ ๋งˆ๋ผ. ์ƒ์ˆ˜(static final)๋ฅผ ๋งŒ๋“ค๊ณ  ์ด๋ฆ„์„ ๋ถ€์—ฌํ•ด ์ด ๋ณ€์ˆ˜์˜ ์—ญํ• ์ด ๋ฌด์—‡์ธ์ง€ ์˜๋„๋ฅผ ๋“œ๋Ÿฌ๋‚ด๋ผ. ๊ตฌ๊ธ€์—์„œ java ์ƒ์ˆ˜์™€ ๊ฐ™์€ ํ‚ค์›Œ๋“œ๋กœ ๊ฒ€์ƒ‰ํ•ด ์ƒ์ˆ˜ ๊ตฌํ˜„ ๋ฐฉ๋ฒ•์„ ํ•™์Šตํ•˜๊ณ  ์ ์šฉํ•ด ๋ณธ๋‹ค.


3. ์ถ•์•ฝํ•˜์ง€ ๋งˆ๋ผ

์˜๋„๋ฅผ ๋“œ๋Ÿฌ๋‚ผ ์ˆ˜ ์žˆ๋‹ค๋ฉด ์ด๋ฆ„์ด ๊ธธ์–ด์ ธ๋„ ๊ดœ์ฐฎ๋‹ค.


4. java api๋ฅผ ์ ๊ทน ํ™œ์šฉํ•œ๋‹ค

๋ฉ”์†Œ๋“œ๋ฅผ ์ง์ ‘ ๊ตฌํ˜„ํ•˜๊ธฐ ์ „์— java api์—์„œ ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋Šฅ์ธ์ง€ ๊ฒ€์ƒ‰์„ ๋จผ์ € ํ•ด๋ณธ๋‹ค. java api์—์„œ ์ œ๊ณตํ•˜๋Š” ์•Š์„ ๊ฒฝ์šฐ ์ง์ ‘ ๊ตฌํ˜„ํ•œ๋‹ค.


5. ๋ฐฐ์—ด ๋Œ€์‹  java collection์„ ์‚ฌ์šฉํ•˜๋ผ

java collection ์ž๋ฃŒ๊ตฌ์กฐ(List, Set, Map ๋“ฑ)๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฐ์ดํ„ฐ๋ฅผ ์กฐ์ž‘ํ•  ๋•Œ ๋‹ค์–‘ํ•œ api๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.


6. ๊ฐ์ฒด์— ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด๋ผ

์ƒํƒœ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ง€๋Š” ๊ฐ์ฒด์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊บผ๋‚ด๋ ค(get)ํ•˜์ง€ ๋ง๊ณ  ๊ฐ์ฒด์— ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด๋ผ


7. ํ•„๋“œ(์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜)์˜ ์ˆ˜๋ฅผ ์ค„์ด๊ธฐ ์œ„ํ•ด ๋…ธ๋ ฅํ•œ๋‹ค

ํ•„๋“œ(์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜)์˜ ์ˆ˜๊ฐ€ ๋งŽ์€ ๊ฒƒ์€ ๊ฐ์ฒด์˜ ๋ณต์žก๋„๋ฅผ ๋†’์ด๊ณ , ๋ฒ„๊ทธ ๋ฐœ์ƒ ๊ฐ€๋Šฅ์„ฑ์„ ๋†’์ผ ์ˆ˜ ์žˆ๋‹ค. ํ•„๋“œ(์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜)์— ์ค‘๋ณต์ด ์žˆ๊ฑฐ๋‚˜, ๋ถˆํ•„์š”ํ•œ ํ•„๋“œ๊ฐ€ ์—†๋Š”์ง€ ํ™•์ธํ•ด ํ•„๋“œ์˜ ์ˆ˜๋ฅผ ์ตœ์†Œํ™”ํ•œ๋‹ค.


8. ๋น„์ง€๋‹ˆ์Šค ๋กœ์ง๊ณผ UI ๋กœ์ง์„ ๋ถ„๋ฆฌํ•ด๋ผ

๋น„์ง€๋‹ˆ์Šค ๋กœ์ง๊ณผ UI ๋กœ์ง์„ ํ•œ ํด๋ž˜์Šค๊ฐ€ ๋‹ด๋‹นํ•˜์ง€ ์•Š๋„๋ก ํ•œ๋‹ค.
๋‹จ์ผ ์ฑ…์ž„์˜ ์›์น™์—๋„ ์œ„๋ฐฐ๋œ๋‹ค.
ํ˜„์žฌ ๊ฐ์ฒด์˜ ์ƒํƒœ๋ฅผ ๋ณด๊ธฐ ์œ„ํ•œ ๋กœ๊ทธ ๋ฉ”์‹œ์ง€ ์„ฑ๊ฒฉ์ด ๊ฐ•ํ•˜๋‹ค๋ฉด toString()์„ ํ†ตํ•ด ๊ตฌํ˜„ํ•œ๋‹ค. View์—์„œ ์‚ฌ์šฉํ•  ๋ฐ์ดํ„ฐ๋ผ๋ฉด getter ๋ฉ”์†Œ๋“œ๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•œ๋‹ค


9. ํ•จ์ˆ˜(๋ฉ”์†Œ๋“œ) ๋ผ์ธ์— ๋Œ€ํ•œ ๊ธฐ์ค€

ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์š”๊ตฌ์‚ฌํ•ญ์„ ๋ณด๋ฉด ํ•จ์ˆ˜ 15๋ผ์ธ์œผ๋กœ ์ œ์•ˆํ•˜๋Š” ์š”๊ตฌ์‚ฌํ•ญ์ด ์žˆ๋‹ค. ์ด ๊ธฐ์ค€์€ main() ํ•จ์ˆ˜์—๋„ ํ•ด๋‹น๋œ๋‹ค. ์ฃผ์„์€ ๊ฐ€๋Šฅํ•˜๋ฉด ํ•จ์ˆ˜ ๋ฐ– ๋˜๋Š” ์ฝ”๋“œ ์šฐ์ธก์— ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ตฌํ˜„ํ•œ๋‹ค. ๊ณต๋ฐฑ ๋ผ์ธ๋„ ํ•œ ๋ผ์ธ์— ํ•ด๋‹นํ•œ๋‹ค.


10. ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ์˜ˆ์™ธ์ผ€์ด์Šค์— ๋Œ€ํ•ด ๊ณ ๋ฏผํ•œ๋‹ค

์ •์ƒ์ ์ธ ๊ฒฝ์šฐ๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ์˜ˆ์™ธ ์ƒํ™ฉ์„ ๋ชจ๋‘ ๊ณ ๋ คํ•ด ํ”„๋กœ๊ทธ๋ž˜๋ฐํ•˜๋Š” ๊ฒƒ์ด ๋” ์–ด๋ ต๋‹ค. ์˜ˆ์™ธ ์ƒํ™ฉ์„ ๊ณ ๋ คํ•ด ํ”„๋กœ๊ทธ๋ž˜๋ฐํ•˜๋Š” ์Šต๊ด€์„ ๋“ค์ธ๋‹ค.


11. ์ฃผ์„์€ ๊ผญ ํ•„์š”ํ•œ ๊ฒฝ์šฐ๋งŒ ๋‚จ๊ธด๋‹ค

๋ฉ”์„œ๋“œ์˜ ์—ญํ• ์ด ๋ฌด์—‡์ธ์ง€๋Š” ๋ฉ”์„œ๋“œ์˜ ์ด๋ฆ„์œผ๋กœ, ๋ณ€์ˆ˜์˜ ์—ญํ• ์ด ๋ฌด์—‡์ธ์ง€๋Š” ๋ณ€์ˆ˜์˜ ์ด๋ฆ„์œผ๋กœ ์•Œ ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค. ์ฃผ์„์€ ๊ผญ ํ•„์š”ํ•œ ๊ฒƒ์ด ์•„๋‹ˆ๋ฉด ๋‚จ๊ธฐ์ง€ ์•Š๋Š”๋‹ค.


12. git์„ ํ†ตํ•ด ๊ด€๋ฆฌํ•  ์ž์›์— ๋Œ€ํ•ด์„œ๋„ ๊ณ ๋ คํ•œ๋‹ค.

.class ํŒŒ์ผ์€ java ์ฝ”๋“œ๊ฐ€ ์žˆ์œผ๋ฉด ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ .class ํŒŒ์ผ์€ ๊ตณ์ด git์„ ํ†ตํ•ด ๊ด€๋ฆฌํ•˜์ง€ ์•Š์•„๋„ ๋œ๋‹ค. intellij์˜ .idea ํด๋”, eclipse์˜ .metadata ํด๋” ๋˜ํ•œ ๊ฐœ๋ฐœ ๋„๊ตฌ๊ฐ€ ์ž๋™์œผ๋กœ ์ƒ์„ฑํ•˜๋Š” ํด๋”์ด๊ธฐ ๋•Œ๋ฌธ ์— ๊ตณ์ด git์œผ๋กœ ๊ด€๋ฆฌํ•˜์ง€ ์•Š์•„๋„ ๋œ๋‹ค. ์•ž์œผ๋กœ git์— ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•  ๋•Œ๋Š” git์„ ํ†ตํ•ด ๊ด€๋ฆฌํ•  ํ•„์š”๊ฐ€ ์žˆ๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ๊ณ ๋ คํ•ด๋ณผ ๊ฒƒ์„ ์ถ”์ฒœํ•œ๋‹ค.


13. ์ด๋ฆ„์„ ํ†ตํ•ด ์˜๋„๋ฅผ ๋“œ๋Ÿฌ๋‚ด๋ผ.

๋ณ€์ˆ˜ ์ด๋ฆ„, ํ•จ์ˆ˜(๋ฉ”์†Œ๋“œ)์ด๋ฆ„, ํด๋ž˜์Šค ์ด๋ฆ„์„ ์ง“๋Š”๋ฐ ์‹œ๊ฐ„์„ ํˆฌ์žํ•˜๋ผ. ์ด๋ฆ„์„ ํ†ตํ•ด ๋ณ€์ˆ˜์˜ ์—ญํ• , ํ•จ์ˆ˜์˜ ์—ญํ• , ํด๋ž˜์Šค์˜ ์—ญํ• ์— ๋Œ€ํ•œ ์˜๋„๋ฅผ ๋“œ๋Ÿฌ๋‚ด๊ธฐ ์œ„ํ•ด ๋…ธ๋ ฅํ•˜๋ผ. ์—ฐ์†์ ์ธ ์ˆซ์ž๋ฅผ ๋ง๋ถ™์ธ ์ด๋ฆ„(a1, a2, โ€ฆ, aN) ๋ง๋ถ™์ด๊ฑฐ๋‚˜ ๋ถˆ์šฉ์–ด(Info, Data, a, an, the)๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ์‹์€ ์ ์ ˆํ•˜์ง€ ๋ชปํ•˜๋‹ค.


14. space(๊ณต๋ฐฑ)๋„ convention์ด๋‹ค.

for, while, if๋ฌธ ์‚ฌ์ด์˜ space๋„ convention์ด๋‹ค.


15. ๋ถˆํ•„์š”ํ•˜๊ฒŒ ๊ณต๋ฐฑ ๋ผ์ธ์„ ๋งŒ๋“ค์ง€ ์•Š๋Š”๋‹ค.

๊ณต๋ฐฑ ๋ผ์ธ์„ ๋„์šฐ๋Š” ๊ฒƒ๋„ ์ฝ”๋“œ์ƒ์— ๋ฌธ๋งฅ์ด ๋‹ฌ๋ผ์ง€๋Š” ๋ถ€๋ถ„์— ์˜๋„๋ฅผ ๊ฐ€์ง€๊ณ  ๋„์šฐ๋ฉด ์ข‹๊ฒ ๋‹ค.


16. ๊ตฌํ˜„ ์ˆœ์„œ๋„ convention์ด๋‹ค

ํด๋ž˜์Šค์˜ ๊ตฌํ˜„ ์ˆœ์„œ์— ๋Œ€ํ•œ convention์„ ์ง€ํ‚ค๋Š” ๊ฒƒ๋„ ์ฝ๊ธฐ ์ข‹์€ ์ฝ”๋“œ๋ฅผ ๊ตฌํ˜„ํ•˜๋Š”๋ฐ ์˜๋ฏธ๊ฐ€ ์žˆ๋‹ค. ํด๋ž˜์Šค์˜ ๊ตฌํ˜„ ์ˆœ์„œ๋ฅผ ์ง€ํ‚ค๋ฉด์„œ ํ”„๋กœ๊ทธ๋ž˜๋ฐํ•œ๋‹ค.


17. ๋ฐ˜๋ณตํ•˜์ง€ ๋งˆ๋ผ.

์ค‘๋ณต์€ ์†Œํ”„ํŠธ์›จ์–ด์—์„œ ๋ชจ๋“  ์•…์˜ ๊ทผ์›์ด๋‹ค.


18. space vs tab ํ˜ผ์šฉ

๋“ค์—ฌ์“ฐ๊ธฐ์— space์™€ tab์„ ํ˜ผ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค. ๋‘˜ ์ค‘์— ํ•˜๋‚˜๋งŒ ์‚ฌ์šฉํ•œ๋‹ค. ํ™•์‹ ์ด ์„œ์ง€ ์•Š์œผ๋ฉด pull request๋ฅผ ๋ณด๋‚ธ ํ›„ ๋“ค์—ฌ์“ฐ๊ธฐ๊ฐ€ ์ž˜ ๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ์Šต๊ด€์„ ๋“ค์ธ๋‹ค.


19. git commit ๋ฉ”์‹œ์ง€๋ฅผ ์˜๋ฏธ์žˆ๊ฒŒ ์ž‘์„ฑ

commit ๋ฉ”์‹œ์ง€์— ํ•ด๋‹น commit์—์„œ ์ž‘์—…ํ•œ ๋‚ด์šฉ์— ๋Œ€ํ•œ ์ดํ•ด๊ฐ€ ๊ฐ€๋Šฅํ•˜๋„๋ก ์ž‘์„ฑํ•œ๋‹ค.


20. ๊ธฐ๋Šฅ ๋ชฉ๋ก ์—…๋ฐ์ดํŠธ

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


21. READEME.md๋ฅผ ์ƒ์„ธํžˆ ์ž‘์„ฑ

์ €์žฅ์†Œ์˜ README.md๋Š” ์†Œ์Šค์ฝ”๋“œ์— ์•ž์„œ ํ•ด๋‹น ํ”„๋กœ์ ํŠธ๊ฐ€ ์–ด๋– ํ•œ ํ”„๋กœ์ ํŠธ์ธ์ง€ ๋งˆํฌ๋‹ค์šด์œผ๋กœ ์ž‘์„ฑํ•˜์—ฌ ์†Œ๊ฐœํ•˜๋Š” ๋ฌธ์„œ์ด๋‹ค. ํ•ด๋‹น ํ”„๋กœ์ ํŠธ๊ฐ€ ์–ด๋– ํ•œ ํ”„๋กœ์ ํŠธ์ด๋ฉฐ, ์–ด๋–ค ๊ธฐ๋Šฅ์„ ๋‹ด๊ณ  ์žˆ๋Š”์ง€ ๊ธฐ์ˆ ํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋งˆํฌ๋‹ค์šด๋ฌธ๋ฒ•์„ ๊ฒ€์ƒ‰ํ•ด์„œ ํ•™์Šตํ•ด๋ณด๊ณ  ์ ์šฉํ•ด ๋ณธ๋‹ค.


22. indent(์ธ๋ดํŠธ,๋“ค์—ฌ์“ฐ๊ธฐ) depth๋ฅผ 2๊ฐ€ ๋„˜์ง€์•Š๋„๋ก ๊ตฌํ˜„ํ•œ๋‹ค. 1๊นŒ์ง€๋งŒํ—ˆ์šฉ

์˜ˆ๋ฅผ๋“ค์–ด while๋ฌธ์•ˆ์— if๋ฌธ์ด ์žˆ์œผ๋ฉด ๋“ค์—ฌ์“ฐ๊ธฐ๋Š” 2์ด๋‹ค.

ํžŒํŠธ : indent(์ธ๋ดํŠธ,๋“ค์—ฌ์“ฐ๊ธฐ) depth๋ฅผ ์ค„์ด๋Š” ์ข‹์€ ๋ฐฉ๋ฒ•์€ ํ•จ์ˆ˜(๋˜๋Š”๋ฉ”์†Œ๋“œ)๋ฅผ ๋ถ„๋ฆฌํ•˜๋ฉด ๋œ๋‹ค.


23. else ์˜ˆ์•ฝ์–ด๋ฅผ ์“ฐ์ง€ ์•Š๋Š”๋‹ค.

ํžŒํŠธ : if ์กฐ๊ฑด์ ˆ์—์„œ ๊ฐ’์„ returnํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ตฌํ˜„ํ•˜๋ฉด else๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•„๋„ ๋œ๋‹ค.
else๋ฅผ ์“ฐ์ง€ ๋ง๋ผ๊ณ  ํ•˜๋‹ˆ switch/case๋กœ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋Š”๋ฐ switch/case๋„ ํ—ˆ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค.


24. ํ•จ์ˆ˜(๋˜๋Š” ๋ฉ”์†Œ๋“œ)์˜ ๊ธธ์ด๊ฐ€ 10๋ผ์ธ์„ ๋„˜์–ด๊ฐ€์ง€ ์•Š๋„๋ก ๊ตฌํ˜„ํ•œ๋‹ค.

ํ•จ์ˆ˜(๋˜๋Š”๋ฉ”์†Œ๋“œ)๊ฐ€ ํ•œ ๊ฐ€์ง€ ์ผ๋งŒ ์ž˜ํ•˜๋„๋ก ๊ตฌํ˜„ํ•œ๋‹ค.


25. ๋ธ”๋Ÿญ ๋“ค์—ฌ์“ฐ๊ธฐ: +4 ์ŠคํŽ˜์ด์Šค

์ƒˆ ๋ธ”๋ก ๋˜๋Š” ๋ธ”๋ก๊ณผ ์œ ์‚ฌํ•œ ๊ตฌ์กฐ(block-like construct)๊ฐ€ ์—ด๋ฆด ๋•Œ๋งˆ๋‹ค ๋“ค์—ฌ์“ฐ๊ธฐ๊ฐ€ ๋„ค ์นธ์”ฉ ์ฆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ๋ธ”๋ก์ด ๋๋‚˜๋ฉด ๋“ค์—ฌ์“ฐ๊ธฐ๋Š” ์ด์ „ ๋“ค์—ฌ์“ฐ๊ธฐ ๋‹จ๊ณ„๋กœ ๋Œ์•„๊ฐ‘๋‹ˆ๋‹ค. ๋“ค์—ฌ์“ฐ๊ธฐ ๋‹จ๊ณ„๋Š” ๋ธ”๋ก ์ „์ฒด์˜ ์ฝ”๋“œ์™€ ์ฃผ์„ ๋ชจ๋‘์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.


26. ์—ด ์ œํ•œ: 120

Java ์ฝ”๋“œ์˜ ์—ด ์ œํ•œ์€ 120์ž์ž…๋‹ˆ๋‹ค. โ€œ๋ฌธ์žโ€๋Š” ์œ ๋‹ˆ์ฝ”๋“œ ์ฝ”๋“œ ํฌ์ธํŠธ๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.


27. ๋“ค์—ฌ์“ฐ๊ธฐ ์ง€์†์€ ์ตœ์†Œ +8 ์ŠคํŽ˜์ด์Šค

์ค„ ๋ฐ”๊ฟˆ ์‹œ ๊ทธ ๋‹ค์Œ ์ค„์€ ์›๋ž˜ ์ค„์—์„œ +8 ์ด์ƒ ๋“ค์—ฌ์”๋‹ˆ๋‹ค.


28. ์ˆ˜์ง ๋นˆ ์ค„

๋นˆ ์ค„์€ ๊ฐ€๋…์„ฑ์„ ํ–ฅ์ƒ์‹œํ‚ค๊ธฐ ์œ„ํ•ด์„œ๋ผ๋ฉด ์–ด๋””๋“ (์˜ˆ๋ฅผ ๋“ค๋ฉด ๋…ผ๋ฆฌ์ ์œผ๋กœ ์ฝ”๋“œ๋ฅผ ๊ตฌ๋ถ„ํ•˜๊ธฐ ์œ„ํ•ด ๋ฌธ์žฅ ์‚ฌ์ด) ์‚ฌ์šฉ ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํด๋ž˜์Šค์˜ ์ฒซ ๋ฒˆ์งธ ๋ฉค๋ฒ„๋‚˜ ์ดˆ๊ธฐํ™”(initializer) ๋˜๋Š” ๋งˆ์ง€๋ง‰ ๋ฉค๋ฒ„ ๋˜๋Š” ์ดˆ๊ธฐํ™”( initializer) ๋’ค์˜ ๋นˆ ์ค„์€ ๊ถŒ์žฅ๋˜์ง€๋„ ๋น„๊ถŒ์žฅํ•˜์ง€๋„ ์•Š์Šต๋‹ˆ๋‹ค.

ํด๋ž˜์Šค์˜ ์ฒซ ๋ฒˆ์งธ ๋ฉค๋ฒ„๋‚˜ ์ดˆ๊ธฐํ™”(initializer) ์•ž์— ์žˆ๋Š” ๋นˆ์ค„์„ ๊ฐ•์ œํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.


29. ์†ŒํŠธ์›์Šค ์•ค์†”๋ฆฌ์ง€ - ์ผ๊ธ‰ ์ฝœ๋ ‰์…˜์„ ํ™œ์šฉํ•ด ๊ตฌํ˜„ํ•œ๋‹ค.

์ปฌ๋ ‰์…˜์„ ํฌํ•จํ•œ ํด๋ž˜์Šค๋Š” ๋ฐ˜๋“œ์‹œ ๋‹ค๋ฅธ ๋ฉค๋ฒ„ ๋ณ€์ˆ˜๊ฐ€ ์—†์–ด์•ผ ํ•œ๋‹ค.

ํ–ฅ๋กœ๋‹˜ ๊ด€๋ จ์ž๋ฃŒ


30. ์†ŒํŠธ์›์Šค ์•ค์†”๋ฆฌ์ง€ - ๋ชจ๋“  ์›์‹œ๊ฐ’๊ณผ ๋ฌธ์ž์—ด์„ ํฌ์žฅํ•œ๋‹ค.

๊ฐ€๋…์„ฑ์„ ์œ„ํ•˜์—ฌ ๊ฐ์ฒด๋กœ wrapping ํ•œ๋‹ค.


[์ฐธ๊ณ ]
์šฐ์•„ํ•œ ํ…Œํฌ์ฝ”์Šค

๋ฐ˜์‘ํ˜•