๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋กํ—ค๋“œํผ์ŠคํŠธ (18)

๋‹ญ๋ฐœ๊ฐœ๋ฐœ

[ํ—ค๋“œํผ์ŠคํŠธ ๋””์ž์ธํŒจํ„ด] 47์ผ์ฐจ. 622-635pg | ๋‹ค์–‘ํ•œ ํŒจํ„ด๋“ค

47์ผ์ฐจ ํ—ค๋“œํผ์ŠคํŠธ ๋””์ž์ธํŒจํ„ด [8์ฃผ์ฐจ_๊ธˆ์š”์ผ] 622-635pg ์š”์•ฝ **CHAPTER 13. ํŒจํ„ด๊ณผ ํ–‰๋ณตํ•˜๊ฒŒ ์‚ด์•„๊ฐ€๊ธฐ (feat. ์‹ค์ „ ๋””์ž์ธ ํŒจํ„ด)** ์‹ค์ „์—์„œ ๋””์ž์ธ ํŒจํ„ด ํ™œ์šฉํ•˜๊ธฐ [ ํŒจํ„ด์„ ์ฐพ์•„ ๋– ๋‚˜๊ธฐ : ํŒจํ„ด ์ฑ… ์ถ”์ฒœ ] 1. ๋””์ž์ธ ํŒจํ„ด์˜ ์ •์„ 2. ํŒจํ„ด ๊ต๊ณผ์„œ [ ํŒจํ„ด์„ ์ฐพ์•„ ๋– ๋‚˜๊ธฐ : ๋””์ž์ธ ํŒจํ„ด ๊ด€๋ จ ์ž๋ฃŒ ] 1. ์›น์‚ฌ์ดํŠธ - ํฌํ‹€๋žœ๋“œ ํŒจํ„ด ๋ผํฌ์ง€ํ† ๋ฆฌ - ํž์‚ฌ์ด๋“œ ๊ทธ๋ฃน - ์˜ค๋ผ์ผ๋ฆฌ์˜จ๋ผ์ธ ํ•™์Šต [ ์•ˆํ‹ฐ ํŒจํ„ด(Anti-Pattern) ] - ์–ด๋–ค ๋ฌธ์ œ์˜ ๋‚˜์œ ํ•ด๊ฒฐ์ฑ…์— ์ด๋ฅด๋Š” ๊ธธ์„ ์•Œ๋ ค์ค€๋‹ค. - ์•ˆํ‹ฐ ํŒจํ„ด์€ ์–ด๋–ค ์ด์œ ๋กœ ๋‚˜์œ ํ•ด๊ฒฐ์ฑ…์— ์œ ํ˜น๋˜๋Š”์ง€๋ฅผ ์•Œ๋ ค์ค€๋‹ค. - ์žฅ๊ธฐ์ ์ธ ๊ด€์ ์—์„œ ๊ทธ ํ•ด๊ฒฐ์ฑ…์ด ๋‚˜์œ ์ด์œ ๋ฅผ ์•Œ๋ ค์ค€๋‹ค. - ์ข‹์€ ํ•ด๊ฒฐ์ฑ…์„ ๋งˆ๋Š—ใ„น ๋•Œ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋‹ค๋ฅธ ํŒจํ„ด์„ ์ œ์•ˆํ•ด ์ค€๋‹ค. **CH..

[ํ—ค๋“œํผ์ŠคํŠธ ๋””์ž์ธํŒจํ„ด] 46์ผ์ฐจ. 610-621pg | ํŒจํ„ด์„ ์ ์ ˆํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜์ž

46์ผ์ฐจ ํ—ค๋“œํผ์ŠคํŠธ ๋””์ž์ธํŒจํ„ด [8์ฃผ์ฐจ_๋ชฉ์š”์ผ] 610-621pg ์š”์•ฝ **CHAPTER 13. ํŒจํ„ด๊ณผ ํ–‰๋ณตํ•˜๊ฒŒ ์‚ด์•„๊ฐ€๊ธฐ (feat. ์‹ค์ „ ๋””์ž์ธ ํŒจํ„ด)** ์‹ค์ „์—์„œ ๋””์ž์ธ ํŒจํ„ด ํ™œ์šฉํ•˜๊ธฐ [ ๋””์ž์ธ ํŒจํ„ด ๋ฒ”์ฃผ - 1 ] 1. ์ƒ์„ฑ ํŒจํ„ด(Creational Pattern) ์‹ฑ๊ธ€ํ„ด, ์ถ”์ƒํŒฉํ† ๋ฆฌ, ํŒฉํ† ๋ฆฌ ๋ฉ”์†Œ๋“œ ํŒจํ„ด 2. ํ–‰๋™ ํŒจํ„ด(Behavioral Pattern) ํ…œํ”Œ๋ฆฟ ๋ฉ”์†Œ๋“œ, ์‹ฑ๊ธ€ํ„ด, ๋ฐ˜๋ณต์ž, ์˜ต์ €๋ฒ„, ์ƒํƒœ, ์ „๋žตํŒจํ„ด 3. ๊ตฌ์กฐ ํŒจํ„ด(Structural Pattern) ๋ฐ์ฝ”๋ ˆ์ดํ„ฐ, ์ปดํฌ์ง€ํŠธ, ํ”„๋ก์‹œ, ํผ์‚ฌ๋“œ, ์–ด๋Œ‘ํ„ฐ ํŒจํ„ด [ ๋””์ž์ธ ํŒจํ„ด ๋ฒ”์ฃผ - 2 : ํด๋ž˜์Šค๋ฅผ ๋‹ค๋ฃจ๋Š” ํŒจํ„ด์ธ์ง€, ๊ฐ์ฒด๋ฅผ ๋‹ค๋ฃจ๋Š” ํŒจํ„ด์ธ์ง€์— ๋”ฐ๋ผ ๋ถ„๋ฅ˜ ] 1. ํด๋ž˜์Šค ํŒจํ„ด(Class Pattern) : ํด๋ž˜์Šค ์‚ฌ์ด์˜ ๊ด€๊ณ„๊ฐ€ ์ƒ์†์œผ๋กœ ์–ด๋–ป๊ฒŒ..

[ํ—ค๋“œํผ์ŠคํŠธ ๋””์ž์ธํŒจํ„ด] 45์ผ์ฐจ. 599-609pg | ํŒจํ„ด ์นดํƒˆ๋กœ๊ทธ, ์ƒˆ๋กœ์šด ๋””์ž์ธํŒจํ„ด ๋ฐœ๊ฒฌํ•˜๊ธฐ

45์ผ์ฐจ ํ—ค๋“œํผ์ŠคํŠธ ๋””์ž์ธํŒจํ„ด [8์ฃผ์ฐจ_์ˆ˜์š”์ผ] 599-609pg ์š”์•ฝ **CHAPTER 13. ํŒจํ„ด๊ณผ ํ–‰๋ณตํ•˜๊ฒŒ ์‚ด์•„๊ฐ€๊ธฐ (feat. ์‹ค์ „ ๋””์ž์ธ ํŒจํ„ด)** ์‹ค์ „์—์„œ ๋””์ž์ธ ํŒจํ„ด ํ™œ์šฉํ•˜๊ธฐ [ ๋””์ž์ธ ํŒจํ„ด์˜ ์ •์˜ ] ํŒจํ„ด(Pattern)์€ ํŠน์ • ์ปจํ…์ŠคํŠธ ๋‚ด์—์„œ ์ฃผ์–ด์ง„ ๋ฌธ์ œ์˜ ํ•ด๊ฒฐ์ฑ…์ด๋‹ค. - ์ปจํ…์ŠคํŠธ(context) : ํŒจํ„ด์ด ์ ์šฉ๋˜๋Š” ์ƒํ™ฉ. ๋ฐ˜๋ณต์ ์œผ๋กœ ์ผ์–ด๋‚  ์ˆ˜ ์žˆ๋Š” ์ƒํ™ฉ์ด์–ด์•ผ ํ•œ๋‹ค. - ๋ฌธ์ œ(problem) : ์ปจํ…์ŠคํŠธ ๋‚ด์—์„œ ์ด๋ค„์•ผ ํ•˜๋Š” ๋ชฉํ‘œ. ์ปจํ…์ŠคํŠธ ๋‚ด์˜ ์ œ์•ฝ์กฐ๊ฑด๋„ ํฌํ•จ๋œ๋‹ค. - ํ•ด๊ฒฐ์ฑ…(solution) : ์šฐ๋ฆฌ๊ฐ€ ์ฐพ์•„๋‚ด์•ผ ํ•˜๋Š” ๊ฒƒ. ์ œ์•ฝ์กฐ๊ฑด ์†์—์„œ ๋ˆ„๊ฐ€ ์ ์šฉํ•ด๋„ ๋ชฉํ‘œ๋ฅผ ์ด๋ฃฐ ์ˆ˜ ์žˆ๋Š” ์ผ๋ฐ˜์ ์ธ ๋””์ž์ธ. "์–ด๋–ค ์ปจํ…์ŠคํŠธ ๋‚ด์—์„œ ์ผ๋ จ์˜ ์ œ์•ฝ์กฐ๊ฑด์— ์˜ํ•ด ์˜ํ–ฅ์„ ๋ฐ›๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค๋ฉด, ๊ทธ ์ œ์•ฝ์กฐ๊ฑด ๋‚ด์—์„œ..

[ํ—ค๋“œํผ์ŠคํŠธ ๋””์ž์ธํŒจํ„ด] 40์ผ์ฐจ. 528-539pg | ๋ณตํ•ฉํŒจํ„ด

40์ผ์ฐจ ํ—ค๋“œํผ์ŠคํŠธ ๋””์ž์ธํŒจํ„ด [7์ฃผ์ฐจ_๋ชฉ์š”์ผ] 528-539pg ์š”์•ฝ **CHAPTER 12. ํŒจํ„ด์„ ๋ชจ์•„ ํŒจํ„ด ๋งŒ๋“ค๊ธฐ (feat. ๋ณตํ•ฉ ํŒจํ„ด)** ์—ฌ๋Ÿฌ ํŒจํ„ด์„ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋ฉด ๋”์šฑ ๊ฐ•๋ ฅํ•œ ๊ฐ์ฒด์ง€ํ–ฅ ๋””์ž์ธ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. ํŒจํ„ด ํ™œ์šฉ๋ฒ•์„ ํ•œ ๋‹จ๊ณ„ ๋Œ์–ด์˜ฌ๋ ค ์ค„ ๋ณตํ•ฉ ํŒจํ„ด [ ํŒจํ„ด ์„ž์–ด ์“ฐ๊ธฐ ] ํŒจํ„ด ๋ช‡ ๊ฐœ๋ฅผ ๊ฒฐํ•ฉํ•œ๋‹ค๊ณ  ํ•ด์„œ ๋ฌด์กฐ๊ฑด ๋ณตํ•ฉ ํŒจํ„ด์ด ๋˜๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค. ๋ณตํ•ฉ ํŒจํ„ด์ด๋ผ๊ณ  ๋ถˆ๋ฆฌ๋ ค๋ฉด ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋ฌธ์ œ์˜ ์ผ๋ฐ˜์ ์ธ ํ•ด๊ฒฐ๋ฒ•์„ ์ œ์‹œํ•ด์•ผ ํ•œ๋‹ค. SimUDuck ์˜ค๋ฆฌ์—๊ฒŒ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ํ•˜๋ฉด์„œ ์‚ดํŽด๋ณด๊ธฐ ๋ฐœ์ทŒ ๋ณตํ•ฉ ํŒจํ„ด์ด๋ž€ ๋ณธ๋ณต์ ์œผ๋กœ ์ƒ๊ธธ ์ˆ˜ ์žˆ๋Š” ์ผ๋ฐ˜์ ์ธ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ์šฉ๋„๋กœ 2๊ฐœ ์ด์ƒ์˜ ํŒจํ„ด์„ ๊ฒฐํ•ฉํ•ด์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ๋œปํ•œ๋‹ค.

[ํ—ค๋“œํผ์ŠคํŠธ ๋””์ž์ธํŒจํ„ด] 39์ผ์ฐจ. 514-527pg | ํ”„๋ก์‹œํŒจํ„ด : ๋‹ค์–‘ํ•œ ๋ณ€์ข… ํ”„๋ก์‹œ

39์ผ์ฐจ ํ—ค๋“œํผ์ŠคํŠธ ๋””์ž์ธํŒจํ„ด [7์ฃผ์ฐจ_์ˆ˜์š”์ผ] 514-527pg ์š”์•ฝ **CHAPTER 11. ๊ฐ์ฒด ์ ‘๊ทผ ์ œ์–ดํ•˜๊ธฐ (feat. ํ”„๋ก์‹œ ํŒจํ„ด)** ์‚ฌ๋žŒ๋“ค์ด ์ข‹์€ ๊ฒฝ์ฐฐ์— ์ ‘๊ทผํ•˜๋Š” ์ผ์„ ๋‚˜์œ ๊ฒฝ์ฐฐ์ด ์ œ์–ดํ•œ๋‹ค. ํŒจํ„ด์—์„œ ๋‚˜์œ ๊ฒฝ์ฐฐ์€ ํ”„๋ก์‹œ(proxy)์ด๋‹ค. ์ ‘๊ทผ์„ ์ œ์–ดํ•˜๊ณ  ๊ด€๋ฆฌํ•œ๋‹ค. [ ๋‹ค์–‘ํ•œ ํ”„๋ก์‹œ ๋ณ€์ข…๋“ค ] 1. ๋ฐฉํ™”๋ฒฝ ํ”„๋ก์‹œ(Firewall Proxy) ๋„คํŠธ์›Œํฌ ์ž์›์œผ๋กœ์˜ ์ ‘๊ทผ์„ ์ œ์–ดํ•จ์œผ๋กœ์จ ์ฃผ์ œ๋ฅผ '๋‚˜์œ' ํด๋ผ์ด์–ธํŠธ๋กœ๋ถ€ํ„ฐ ๋ณดํ˜ธํ•ด ์ค€๋‹ค. 2. ์Šค๋งˆํŠธ ๋ ˆํผ๋Ÿฐ์Šค ํ”„๋ก์‹œ(Smart Reference Proxy) ์ฃผ์ œ๊ฐ€ ์ฐธ์กฐ๋  ๋•Œ๋งˆ๋‹ค ์ถ”๊ฐ€ ํ–‰๋™์„ ์ œ๊ณตํ•œ๋‹ค. ๊ฐ์ฒด์˜ ๋ ˆํผ๋Ÿฐ์Šค ๊ฐœ์ˆ˜๋ฅผ ์„ผ๋‹ค๋“ ๊ฐ€ ํ•˜๋Š” ์‹์œผ๋กœ ์ œ๊ณต. 3. ์บ์‹ฑ ํ”„๋ก์‹œ(Caching Proxy) ์ž‘์—…์˜ ๊ฒฐ๊ณผ๋ฅผ ์ž„์‹œ๋กœ ์ €์žฅํ•ด ์ค€๋‹ค. ์—ฌ๋Ÿฌ ํด๋ผ์ด์–ธํŠธ์—์„œ ๊ฒฐ๊ณผ..

[ํ—ค๋“œํผ์ŠคํŠธ ๋””์ž์ธํŒจํ„ด] 38์ผ์ฐจ. 503-513pg | ๋™์  ํ”„๋ก์‹œ ํ™œ์šฉํ•˜์—ฌ ๋ณดํ˜ธ ํ”„๋ก์‹œ ๋งŒ๋“ค๊ธฐ

38์ผ์ฐจ ํ—ค๋“œํผ์ŠคํŠธ ๋””์ž์ธํŒจํ„ด [7์ฃผ์ฐจ_ํ™”์š”์ผ] 503-513pg ์š”์•ฝ **CHAPTER 11. ๊ฐ์ฒด ์ ‘๊ทผ ์ œ์–ดํ•˜๊ธฐ (feat. ํ”„๋ก์‹œ ํŒจํ„ด)** ์‚ฌ๋žŒ๋“ค์ด ์ข‹์€ ๊ฒฝ์ฐฐ์— ์ ‘๊ทผํ•˜๋Š” ์ผ์„ ๋‚˜์œ ๊ฒฝ์ฐฐ์ด ์ œ์–ดํ•œ๋‹ค. ํŒจํ„ด์—์„œ ๋‚˜์œ ๊ฒฝ์ฐฐ์€ ํ”„๋ก์‹œ(proxy)์ด๋‹ค. ์ ‘๊ทผ์„ ์ œ์–ดํ•˜๊ณ  ๊ด€๋ฆฌํ•œ๋‹ค. [ ๋™์  ํ”„๋ก์‹œ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋ณดํ˜ธ ํ”„๋ก์‹œ ๋งŒ๋“ค๊ธฐ ] - java.lang.reflect ํŒจํ‚ค์ง€์— ํ”„๋ก์‹œ ๊ธฐ๋Šฅ์ด ๋‚ด์žฅ๋˜์–ด ์žˆ๋‹ค. - java.lang.reflect ํŒจํ‚ค์ง€ ์‚ฌ์šฉํ•˜๋ฉด ์ฆ‰์„์—์„œ ํ•˜๋‚˜ ์ด์ƒ์˜ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•˜๊ณ , ์ง€์ •ํ•œ ํด๋ž˜์Šค์— ๋ฉ”์†Œ๋“œ ํ˜ธ์ถœ์„ ์ „๋‹ฌํ•˜๋Š” ํ”„๋ก์‹œ ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. - ๋™์  ํ”„๋ก์‹œ(dynamic proxy) : ์ง„์งœ ํ”„๋ก์‹œ๋Š” ์‹คํ–‰ ์ค‘์— ์ƒ์„ฑ๋˜๋Š” ์ž๋ฐ” ๊ธฐ์ˆ  - ์ž๋ฐ”์—์„œ Proxy ํด๋ž˜์Šค๋ฅผ ์ƒ์„ฑํ•ด์ฃผ๊ณ , Pr..

[ํ—ค๋“œํผ์ŠคํŠธ ๋””์ž์ธํŒจํ„ด] 37์ผ์ฐจ. 488-502pg

37์ผ์ฐจ ํ—ค๋“œํผ์ŠคํŠธ ๋””์ž์ธํŒจํ„ด [7์ฃผ์ฐจ_์›”์š”์ผ] 488-502pg ์š”์•ฝ **CHAPTER 11. ๊ฐ์ฒด ์ ‘๊ทผ ์ œ์–ดํ•˜๊ธฐ (feat. ํ”„๋ก์‹œ ํŒจํ„ด)** ์‚ฌ๋žŒ๋“ค์ด ์ข‹์€ ๊ฒฝ์ฐฐ์— ์ ‘๊ทผํ•˜๋Š” ์ผ์„ ๋‚˜์œ ๊ฒฝ์ฐฐ์ด ์ œ์–ดํ•œ๋‹ค. ํŒจํ„ด์—์„œ ๋‚˜์œ ๊ฒฝ์ฐฐ์€ ํ”„๋ก์‹œ(proxy)์ด๋‹ค. ์ ‘๊ทผ์„ ์ œ์–ดํ•˜๊ณ  ๊ด€๋ฆฌํ•œ๋‹ค. [ ์‹ ๋‚˜๋Š” ํ”„๋ก์‹œ์˜ ํ•˜๋ฃจ - ํ”„๋ก์‹œ์˜ ์ผ ์ฒ˜๋ฆฌ๊ณผ์ • ์‚ดํŽด๋ณด๊ธฐ ] 1. CEO ๋ชจ๋‹ˆํ„ฐ๋ง ์‹œ์ž‘ -> GumballMonitor๋Š” ๋ฝ‘๊ธฐ ๊ธฐ๊ณ„ ์›๊ฒฉ ๊ฐ์ฒด์˜ ํ”„๋ก์‹œ๋ฅผ ๊ฐ€์ ธ์˜ด -> getState(), getCount(), getLocation() ํ˜ธ์ถœ 2. ํ”„๋ก์‹œ์˜ getState() ํ˜ธ์ถœ -> ํ”„๋ก์‹œ๋Š” ์ด ํ˜ธ์ถœ์„ ์›๊ฒฉ ์„œ๋น„์Šค๋กœ ์ „๋‹ฌ -> ์Šค์ผˆ๋ ˆํ†ค์„ ๊ทธ ์š”์ฒญ์„ ๋ฐ›์•„์„œ ๋ฝ‘๊ธฐ๊ธฐ๊ณ„์— ์ „๋‹ฌ 3. GumballMachine์€ ์Šค์ผˆ๋ ˆํ†ค์—๊ฒŒ ์ƒํƒœ๋ฅผ ๋ฆฌํ„ด..

[ํ—ค๋“œํผ์ŠคํŠธ ๋””์ž์ธํŒจํ„ด] 36์ผ์ฐจ. 475-487pg

36์ผ์ฐจ ํ—ค๋“œํผ์ŠคํŠธ ๋””์ž์ธํŒจํ„ด [6์ฃผ์ฐจ_ํ† ์š”์ผ] 475-487pg ์š”์•ฝ **CHAPTER 11. ๊ฐ์ฒด ์ ‘๊ทผ ์ œ์–ดํ•˜๊ธฐ (feat. ํ”„๋ก์‹œ ํŒจํ„ด)** ์‚ฌ๋žŒ๋“ค์ด ์ข‹์€ ๊ฒฝ์ฐฐ์— ์ ‘๊ทผํ•˜๋Š” ์ผ์„ ๋‚˜์œ ๊ฒฝ์ฐฐ์ด ์ œ์–ดํ•œ๋‹ค. ํŒจํ„ด์—์„œ ๋‚˜์œ ๊ฒฝ์ฐฐ์€ ํ”„๋ก์‹œ(proxy)์ด๋‹ค. ์ ‘๊ทผ์„ ์ œ์–ดํ•˜๊ณ  ๊ด€๋ฆฌํ•œ๋‹ค. [ RMI ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ] - ํด๋ผ์ด์–ธํŠธ๋Š” ์Šคํ… ๊ฐ์ฒด(ํ”„๋ก์‹œ)๋ฅผ ๊ฐ€์ ธ์™€์•ผ ํ•œ๋‹ค. ๊ฑฐ๊ธฐ์— ์žˆ๋Š” ๋ฉ”์†Œ๋“œ๋ฅผ ํ˜ธ์ถœํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์—. - ํด๋ผ์ด์–ธํŠธ๋Š” ๋ฃฉ์—…(lookup)์œผ๋กœ ์Šคํ… ๊ฐ์ฒด๋ฅผ ์š”์ฒญํ•œ๋‹ค. (์ด๋ฆ„์„ ๊ฑด๋„ค์ฃผ๋ฉด์„œ ๊ทธ ์ด๋ฆ„์— ๋งž๋Š” ์Šคํ… ๊ฐ์ฒด๋ฅผ ์š”๊ตฌํ•˜๋Š” ๊ฒƒ) 1. ํด๋ผ์ด์–ธํŠธ์—์„œ RMI ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ๋ฃฉ์—… Naming.lookup("rmi://127.0.0.1/RemoteHello"); 2. RMI ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์—์„œ ์Šคํ… ๊ฐ์ฒด ๋ฆฌํ„ด. (์ด ๋•Œ, ์Šคํ…..

[ํ—ค๋“œํผ์ŠคํŠธ ๋””์ž์ธํŒจํ„ด] 35์ผ์ฐจ. 464-474pg

35์ผ์ฐจ ํ—ค๋“œํผ์ŠคํŠธ ๋””์ž์ธํŒจํ„ด [6์ฃผ์ฐจ_๊ธˆ์š”์ผ] 464-474pg ์š”์•ฝ **CHAPTER 11. ๊ฐ์ฒด ์ ‘๊ทผ ์ œ์–ดํ•˜๊ธฐ (feat. ํ”„๋ก์‹œ ํŒจํ„ด)** ์‚ฌ๋žŒ๋“ค์ด ์ข‹์€ ๊ฒฝ์ฐฐ์— ์ ‘๊ทผํ•˜๋Š” ์ผ์„ ๋‚˜์œ ๊ฒฝ์ฐฐ์ด ์ œ์–ดํ•œ๋‹ค. ํŒจํ„ด์—์„œ ๋‚˜์œ ๊ฒฝ์ฐฐ์€ ํ”„๋ก์‹œ(proxy)์ด๋‹ค. ์ ‘๊ทผ์„ ์ œ์–ดํ•˜๊ณ  ๊ด€๋ฆฌํ•œ๋‹ค. [ ์›๊ฒฉ ํ”„๋ก์‹œ์˜ ์—ญํ•  ] - ์›๊ฒฉ ๊ฐ์ฒด์˜ ๋กœ์ปฌ ๋Œ€๋ณ€์ž ์—ญํ•  - ์›๊ฒฉ ๊ฐ์ฒด : ๋‹ค๋ฅธ ์ž๋ฐ” ๊ฐ€์ƒ ๋จธ์‹ ์˜ ํž™์—์„œ ์‚ด๊ณ  ์žˆ๋Š” ๊ฐ์ฒด(๋‹ค๋ฅธ ์ฃผ์†Œ ๊ณต๊ฐ„์—์„œ ๋Œ์•„๊ฐ€๊ณ  ์žˆ๋Š” ๊ฐ์ฒด) - ๋กœ์ปฌ ๋Œ€๋ณ€์ž : ๋กœ์ปฌ ๋Œ€๋ณ€์ž์˜ ์–ด๋–ค ๋ฉ”์†Œ๋“œ๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด, ๋‹ค๋ฅธ ์›๊ฒฉ ๊ฐ์ฒด์—๊ฒŒ ๊ทธ ๋ฉ”์†Œ๋“œ ํ˜ธ์ถœ์„ ์ „๋‹ฌํ•ด์ฃผ๋Š” ๊ฐ์ฒด - ํด๋ผ์ด์–ธํŠธ ๊ฐ์ฒด๋Š” ํ”„๋ก์‹œ๋ฅผ ํ™œ์šฉํ•˜๋Š” ๊ฐ์ฒด๋‹ค : ํด๋ผ์ด์–ธํŠธ ๊ฐ์ฒด๋Š” ์›๊ฒฉ ๊ฐ์ฒด์˜ ๋ฉ”์†Œ๋“œ ํ˜ธ์ถœ์„ ํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ํ–‰๋™ํ•œ๋‹ค. ํ•˜์ง€๋งŒ ์‹ค์ œ๋กœ๋Š” ๋กœ์ปฌ ํž™์— ๋“ค์–ด์žˆ๋Š” ..

[ํ—ค๋“œํผ์ŠคํŠธ ๋””์ž์ธํŒจํ„ด] 33์ผ์ฐจ. 440-452pg

33์ผ์ฐจ ํ—ค๋“œํผ์ŠคํŠธ ๋””์ž์ธํŒจํ„ด [6์ฃผ์ฐจ_์ˆ˜์š”์ผ] 440-452pg ์š”์•ฝ **CHAPTER 10. ๊ฐ์ฒด์˜ ์ƒํƒœ ๋ฐ”๊พธ๊ธฐ (feat. ์ƒํƒœํŒจํ„ด)** ์ „๋žตํŒจํ„ด๊ณผ ์ƒํƒœํŒจํ„ด์€ ๊ฝค๋‚˜ ๋‹ค๋ฅด์ง€๋งŒ ๋ฐ‘ ๋ฐ”ํƒ•์˜ ์„ค๊ณ„๋Š” ๊ฑฐ์˜ ๊ฐ™๋‹ค. ์–ด๋ฆด์  ํ—ค์–ด์ง„ ์Œ๋‘ฅ์ด์ฒ˜๋Ÿผ [ ์ƒํƒœ ํŒจํ„ด(State Pattern) ์ •์˜ ] ์ƒํƒœ ํŒจํ„ด์„ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐ์ฒด์˜ ๋‚ด๋ถ€ ์ƒํƒœ๊ฐ€ ๋ฐ”๋€œ์— ๋”ฐ๋ผ์„œ ๊ฐ์ฒด์˜ ํ–‰๋™์„ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋‹ค. ์ƒํƒœ๋ฅผ ๋ณ„๋„์˜ ํด๋ž˜์Šค๋กœ ์บก์Šํ™”ํ•œ ๋‹ค์Œ ํ˜„์žฌ ์ƒํƒœ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฐ์ฒด์—๊ฒŒ ํ–‰๋™์„ ์œ„์ž„ํ•˜๋ฏ€๋กœ ๋‚ด๋ถ€ ์ƒํƒœ๊ฐ€ ๋ฐ”๋€” ๋•Œ ํ–‰๋™์ด ๋‹ฌ๋ผ์ง€๊ฒŒ ๋œ๋‹ค๋Š” ์‚ฌ์‹ค์„ ์‰ฝ๊ฒŒ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ๋งˆ์น˜ ๊ฐ์ฒด์˜ ํด๋ž˜์Šค๊ฐ€ ๋ฐ”๋€Œ๋Š” ๊ฒƒ๊ณผ ๊ฐ™์€ ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค. [ ์ƒํƒœ ํŒจํ„ด vs ์ „๋žต ํŒจํ„ด ]์ƒํƒœ ํŒจํ„ด์ƒํƒœ ๊ฐ์ฒด์— ์ผ๋ จ์˜ ํ–‰๋™์ด ์บก์Šํ™” ๋œ๋‹ค.Context ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ์ดˆ๊ธฐ ์ƒํƒœ..