Spring ๊ธฐ๋ณธ [ ์ฑ๊ธํค/์คํ๋ง์ปจํ ์ด๋]
์น์ ๊ฒฝ์ฐ์๋ ๊ณ ๊ฐ์ด ์ฌ๋ฌ๋ช ์ด๊ธฐ ๋๋ฌธ์ ์์ฒญํ ๋๋ง๋ค ๊ฐ์ฒด๋ฅผ ์๋ก ์์ฑํ๋ฉด ๋ฉ๋ชจ๋ฆฌ ๋ญ๋น๊ฐ ์ ๋ง์ ๋ง ์ฌํ๋ค! ๊ทธ๋์ ํด๊ฒฐ์ ํด์ค์ผ ํ๋ค. ๋ฐฉ๋ฒ์๋ ๋๊ฐ์ง๊ฐ ์กด์ฌํ๋ค. 1. ์ง์ ์ฑ๊ธํค ์์ฑ 2. ์ฑ๊ธํค ์ปจํ ์ด๋ ์ด์ฉ [ ์ง์ ์ฑ๊ธํค ์์ฑ ] ์ฑ๊ธํค ํจํด์ ์ ์ฉํ๋ฉด ๊ณ ๊ฐ์ ์์ฒญ์ด ์ฌ ๋๋ง๋ค ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ ๊ฒ์ด ์๋๋ผ, ์ด๋ฏธ ๋ง๋ค์ด์ง ๊ฐ์ฒด๋ฅผ ๊ณต์ ํด์ ์ฌ์ฉํ๋ค. ํ์ง๋ง ์ง์ ๋ง๋๋ ๊ฒ์ ์ฌ๋ฌ ๋จ์ ์ด ์กด์ฌํ๋ค. ์์ฑํด์ผํ ์ฝ๋๊ฐ ๋ง์์ง๋ค. DIP๋ฅผ ์๋ฐํ๋ค. ( ํด๋ผ์ด์ธํธ๊ฐ ๊ตฌ์ฒดํด๋์ค๋ฅผ ์์กดํ๋ค) private static final SingletonService instance = new SingletonService(); DIP๋ฅผ ์๋ฐํ๋ฉด OCP๋ ์๋ฐํ ๊ฐ๋ฅ์ฑ์ด ๋ง๋ค. ๋ด๋ถ์์ฑ์ ๋ณ๊ฒฝํ๊ฑฐ๋ ์ด๊ธฐํ ํ๊ธฐ ์ด๋ ต..