[Java Design Pattern] ์ •์  ํŒฉํ† ๋ฆฌ ๋ฉ”์„œ๋“œ
ยท
โ˜•Java/๐ŸงฉJava Design Pattern
์šฐ์„  ๋“ค์–ด๊ฐ€๊ธฐ์— ์•ž์„œ ์ •์  ํŒฉํ† ๋ฆฌ ๋ฉ”์„œ๋“œ๋Š” ๋””์ž์ธ ํŒจํ„ด์€ ์•„๋‹ˆ์ง€๋งŒ, ๋น„์Šทํ•œ ๊ฒฐ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋””์ž์ธ ํŒจํ„ด๋“ค์„ ๊ณต๋ถ€ํ• ๋•Œ๋Š” ๊ฐœ์ธ์ ์œผ๋กœ ํ•ด๋‹น ๋””์ž์ธํŒจํ„ด์˜ ์žฅ์ ๊ณผ ๋‹จ์ ์„ ํŒŒ์•…ํ•˜๋Š” ๊ณต๋ถ€ ๋ฐฉ๋ฒ•์ด ๊ฐ€์žฅ ์ข‹์€ ๊ฒƒ ๊ฐ™๋‹ค. ์ดํ•ดํ•˜๊ธฐ๊ฐ€ ๋” ์‰ฌ์šด๋“ฏ (1) ์ •์  ํŒฉํ† ๋ฆฌ ๋ฉ”์„œ๋“œ๋ž€?๋ณดํ†ต ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์€ "์ƒ์„ฑ์ž"๋ฅผ ํ†ตํ•ด ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑ ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค. ํ•˜์ง€๋งŒ, ์ด๋ฒˆ์— ์•Œ์•„ ๋ณผ ๋ฐฉ๋ฒ•์€ ๋ฉ”์„œ๋“œ๋ฅผ ํ™œ์šฉํ•ด ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ์ƒํ™ฉ์— ๋”ฐ๋ผ์„œ ์ž˜ ์‚ฌ์šฉํ•˜๋ฉด ์œ ์ง€๋ณด์ˆ˜์— ๋งค์šฐ ์ข‹๋‹ค. ์ฐธ๊ณ ๋กœ ์ •์  ํŒฉํ† ๋ฆฌ ๋ฉ”์„œ๋“œ๋Š” ๋””์ž์ธ ํŒจํ„ด์ด ์•„๋‹Œ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜์ด๋‹ค. 1. ์ •์ - ์ž๋ฐ”์—์„œ static ํ‚ค์›Œ๋“œ๋ฅผ ์˜๋ฏธํ•˜๋ฉฐ, static ํ‚ค์›Œ๋“œ๋Š” ๊ณ ์ •๋œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ๊ฐ–๋Š”๋‹ค.- ํด๋ž˜์Šค๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์— ๋กœ๋“œ๋  ๋•Œ ํ•œ ๋ฒˆ๋งŒ ์ƒ์„ฑ์ด ๋˜๋ฉฐ, ..