์ธํŒŒ

You Can Become A

Programmer

๋Šฆ๊ฒŒ ์‹œ์ž‘ํ•ด๋„ ๋ˆ„๊ตฌ๋“ ์ง€ ๋…ธ๋ ฅํ•˜๋ฉด ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ ์ˆ˜ ์žˆ์–ด์š” !

์ž๋ฐ” ํ”„๋ก์‹œ

๊ณต๋ถ€ํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค
Java

โ˜• ๋ˆ„๊ตฌ๋‚˜ ์‰ฝ๊ฒŒ ๋ฐฐ์šฐ๋Š” Dynamic Proxy ๋‹ค๋ฃจ๊ธฐ

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

category_image
์ธํŒŒ_
2023.01.13
4
GOF

๐Ÿ’  ํ”„๋ก์‹œ(Proxy) ํŒจํ„ด - ์™„๋ฒฝ ๋งˆ์Šคํ„ฐํ•˜๊ธฐ

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

category_image
์ธํŒŒ_
2023.01.12
9