Decorator Pattern
๋ฐ์ฝ๋ ์ดํฐ ํจํด์ด๋,
์ฃผ์ด์ง ์ํฉ ๋ฐ ์ฉ๋์ ๋ฐ๋ผ ์ด๋ค ๊ฐ์ฒด์ ์ฑ ์์ ๋ง๋ถ์ด๋ ํจํด์ผ๋ก, ๊ธฐ๋ฅ ํ์ฅ์ด ํ์ํ ๋ ์๋ธํด๋์ฑ ๋์ ์ธ ์ ์๋ ์ ์ฐํ ๋์์ด ๋ ์ ์๋ค.
- ์ํค๋ฐฑ๊ณผ
์์๋ณด๊ธฐ
์ด๋ฆ๋๋ก ์ฃผ๋ณ์ ๊ธฐ๋ฅ์ ๋ง๋ถ์ฌ์ ์ฌ์ฉํ ์ ์๋๋ก ์ค๊ณ๋ ํจํด์ด๋ค.
์ค์ ๋ก ์ฌ์ฉ๋๋ ์ฌ๋ก๋ก๋ ํ์ด์ฌ์ decorator๊ฐ ์๋ค.
ํจ์๋ฅผ ์ฌ์ฉํ๋ฉด ๊ฒฝ๊ณ ๋ก๊ทธ๋ฅผ ๋จ๊ธฐ๋ warning
์ด๋ผ๋ ๋ฐ์ฝ๋ ์ดํฐ๊ฐ ์๋ค๊ณ ์น์. ๊ทธ๋ผ ํ์ด์ฌ์์๋ ์๋์ฒ๋ผ ์ฝ๋๋ฅผ ์์ฑํ ์ ์๋ค.
์ด์ myFunction() ํจ์๋ ๋ฐ์ฝ๋ ์ดํฐ์ ํจ๊ป ๋์ํ๋ค. (๋ฌผ๋ก ํ์ด์ฌ์ ๋ฌธ๋ฒ์ ์ํด ๊ฐ๋ฅํ ๊ฒ์ด๋ค. ๋ชจ์์๋ง ์๊ณ ๊ฐ์.)
๋ฐ์ฝ๋ ์ดํฐ๊ฐ ํจ์ ์คํ ์ ๊ณผ ํ์ ๋ก๊ทธ๋ฅผ ๋จ๊ธฐ๋๋ก ๋ง๋ค์ด์ก๋ค๋ฉด, ๊ฒฐ๊ณผ๋ ์๋์ ๊ฐ์ ์ ์๋ค.
์ด๋ฐ ๋ฐฉ์์ ์ด๋ค ๊ธฐ๋ฅ(๋ฉ์๋)์ ์ถ๊ฐํ๊ธฐ ์ํด์ ํด๋์ค๋ฅผ ์์๋ฐ์ ํ์๋ ์๊ณ , ์๋ก ์์ฑํ ํ์๋ ์๋ค.
Last updated