๋ฐ์ฝ๋ ์ดํฐ ํจํด(Decorator Pattern)
๋ฐ์ฝ๋ ์ดํฐ ํจํด(Decorator Pattern)์ด๋? ๋ฐ์ฝ๋ ์ดํฐ ํจํด์ ๊ฐ์ฒด ์งํฅ ๋์์ธ ํจํด ์ค ํ๋๋ก, ๊ธฐ์กด์ ๊ฐ์ฒด์ ์๋ก์ด ๊ธฐ๋ฅ์ ๋์ ์ผ๋ก ์ถ๊ฐํ๊ธฐ ์ํ ํจํด์
๋๋ค. ๋ฐ์ฝ๋ ์ดํฐ ํจํด์ ์ฌ์ฉํ๋ฉด, ๊ธฐ์กด ์ฝ๋๋ฅผ ์์ ํ์ง ์๊ณ ๋ ๊ฐ์ฒด์ ์ฑ
์๊ณผ ์ญํ ์ ํ์ฅํ ์ ์์ด ์ ์ฐ์ฑ์ด ๋์ ํจํด์
๋๋ค. ๋ฐ์ฝ๋ ์ดํฐ ํจํด์ ๊ตฌ์ฑ์์ ๋ฐ์ฝ๋ ์ดํฐ ํจํด์ ๋ค์๊ณผ ๊ฐ์ด ๊ตฌ์ฑ๋ฉ๋๋ค. Component: ๋ฐ์ฝ๋ ์ดํฐ ํจํด์์ ์ถ๊ฐ ๊ธฐ๋ฅ์ ๋ถ์ฌํ ๊ฐ์ฒด์ ์ธํฐํ์ด์ค ์ญํ ์ ํฉ๋๋ค. ConcreteComponent: Component ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ ๊ตฌ์ฒด์ ์ธ ๊ฐ์ฒด์
๋๋ค. Decorator: Component ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ๊ณ , ์ถ๊ฐ ๊ธฐ๋ฅ์ ๋ถ์ฌํ ๊ฐ์ฒด์ ์ถ์ ํด๋์ค์
๋๋ค. ConcreteDecorator: Decorator ํด..