item18(2)
-
[์ดํํฐ๋ธ ์๋ฐ] Item18 ์๋ฒฝ๊ณต๋ต. ์ฝ๋ฐฑ ํ๋ ์์ํฌ์ ์ ํ ๋ฌธ์
item18. ์์๋ณด๋ค๋ ์ปดํฌ์ง์ ์ ์ฌ์ฉํ๋ผ. " p.119 ์ฝ๋ฐฑ ํ๋ ์์ํฌ์ ์ ํ๋ฌธ์ " ๋ํผํด๋์ค์๋ ๋จ์ ์ด ๊ฑฐ์ ์๋๋ฐ, ํ๊ฐ์ง ์๋ค๋ฉด ๋ํผ ํด๋์ค๊ฐ ์ฝ๋ฐฑ callback ํ๋ ์์ํฌ์๋ ์ด์ธ๋ฆฌ์ง ์๋๋ค๋ ์ ๋ง ์ฃผ์ํ๋ฉด ๋๋ค. ์ฝ๋ฐฑ ํ๋ ์์ํฌ์์๋ ์๊ธฐ ์์ ์ ์ฐธ์กฐ๋ฅผ ๋ค๋ฅธ ๊ฐ์ฒด์ ๋๊ฒจ์ ๋ค์ ํธ์ถ(์ฝ๋ฐฑ)๋ ์ฌ์ฉํ๋๋ก ํ๋ค. ๋ด๋ถ ๊ฐ์ฒด๋ ๊ทผ๋ฐ ์์ ์ ๊ฐ์ธ๊ณ ์๋ ๋ํผ์ ์กด์ฌ๋ฅผ ๋ชจ๋ฅด๊ธฐ ๋๋ฌธ์ ์๊ธฐ ์์ this๋ฅผ ์ฐธ์กฐ๋ก ๋๊ธฐ๊ณ , ์ฝ๋ฐฑ ๋๋ ๋ํผ๊ฐ ์๋ ๋ด๋ถ ๊ฐ์ฒด๋ฅผ ํธ์ถํ๊ฒ ๋๋๋ฐ ์ด๋ฅผ self ๋ฌธ์ ๋ผ๊ณ ํ๋ค. ์ฝ๋ฐฑ ํจ์๋? : ๋ค๋ฅธ ํจ์ A์ ์ธ์๋ก ์ ๋ฌ๋ ํจ์ B๋ก, ํด๋น ํจ์A ๋ด๋ถ์์ ํ์ํ ์์ ์ ํธ์ถ๋ ์ ์๋ ํจ์ B๋ฅผ ์๋ฏธํ๋ค. public interface FunctionToCall { v..
2023.03.02 -
[์ดํํฐ๋ธ ์๋ฐ] Item18 ์๋ฒฝ๊ณต๋ต. ๋ฐ์ฝ๋ ์ดํฐ ํจํด Decorator Pattern
item18. ์์๋ณด๋ค๋ ์ปดํฌ์ง์ ์ ์ฌ์ฉํ๋ผ. " p.119 ๋ฐ์ฝ๋ ์ดํฐ ํจํด" [์ดํํฐ๋ธ ์๋ฐ] Item18. ์์๋ณด๋ค๋ ์ปดํฌ์ง์ ์ ์ฌ์ฉํ๋ผ. (tistory.com) [์ดํํฐ๋ธ ์๋ฐ] Item18. ์์๋ณด๋ค๋ ์ปดํฌ์ง์ ์ ์ฌ์ฉํ๋ผ. [์ดํํฐ๋ธ ์๋ฐ] Item18. ์์๋ณด๋ค๋ ์ปดํฌ์ง์ ์ ์ฌ์ฉํ๋ผ. ์์์ ์ฌ์ฉํ๋ฉด ์ฝ๋๋ฅผ ์ฌ์ฌ์ฉํ ์ ์์ง๋ง, ์๋ชป ์์ํ๋ฉด ์ค๋ฅ๊ฐ ๋ฐ์ํ ์ ์๋ค. ์์ ํด๋์ค์ ํ์ ํด๋์ค๊ฐ ๋ชจ๋ ๊ฐ์ ํ๋ก๊ทธ๋ hyejin.tistory.com ๋ฐ์ฝ๋ ์ดํฐ ํจํด Decorator Pattern ์ด๋? : ๊ธฐ์กด ์ฝ๋๋ฅผ ๋ณ๊ฒฝํ์ง ์๊ณ ๋ถ๊ฐ ๊ธฐ๋ฅ์ ์ถ๊ฐํ๋ ํจํด, ๊ฐ์ฒด์ ๊ฒฐํฉ์ ํตํด ๊ธฐ๋ฅ์ ๋์ ์ผ๋ก ์ ์ฐํ๊ฒ ํ์ฅํ ์ ์๊ฒ ํด์ฃผ๋ ํจํด์ด๋ค. ๋ฐ์ฝ๋ ์ดํฐ ํจํด์ ์์์ด ์๋ ์์์ ์ฌ์ฉํด์ ๋ณด๋ค ์ ์ฐ..
2023.03.02