IoC
โDonโt call me, Iโll call youโ
๊ฐ๋ฐ์๊ฐ ์๋ ํด์ด ์ ์ด๊ถ์ ๊ฐ์ ธ ํด๋์ค๊ฐ ์์กด ๊ฐ์ฒด๋ฅผ ์ง์ ๋ง๋๋ ๊ฒ๋ค์ด ์๋๋ผ ์ฃผ์ ๋ฐ์์ ์ฌ์ฉํ๋ ๊ฒ
โ ์ฝ๋์ ํ๋ฆ์ ์ ์ดํ๋ ์ฃผ์ฒด๊ฐ ๋ฐ๋๋ ๊ฒ
IoC๊ฐ ์ ์ฉ๋ ๊ฒฝ์ฐ, ๊ฐ์ฒด์ ์์ฑ์
ํน๋ณํ ๊ด๋ฆฌ ์์ ์ฃผ์ฒด
์๊ฒ ๋งก๊ธด๋ค์ด ๊ฒฝ์ฐ ์ฌ์ฉ์๋ ๊ฐ์ฒด๋ฅผ ์ง์ ์์ฑํ์ง ์๊ณ , ๊ฐ์ฒด์ ์๋ช ์ฃผ๊ธฐ๋ฅผ ์ปจํธ๋กคํ๋ ์ฃผ์ฒด๋ ๋ค๋ฅธ ์ฃผ์ฒด๊ฐ ๋๋ค
์ฆ,
์ฌ์ฉ์์ ์ ์ด๊ถ์ ๋ค๋ฅธ ์ฃผ์ฒด์๊ฒ ๋๊ธฐ๋ ๊ฒ
์ ์ ์ด์ ์ญ์ , Inversion of Control ์ด๋ผ๊ณ ํ๋ค
ApplicationContext
์BeanFactory
(ApplicationContext๋ BeanFactory๋ฅผ ์์๋ฐ๋๋ค) ์ธํฐํ์ด์ค ๋๋ถ์Bean์ผ๋ก ์ง์ ํ ๋ชจ๋ ํด๋์ค๋ฅผ ์ธ์คํด์ค๋ก ๋ฑ๋ก
ํด์ฃผ์ด ๋ค๋ฅธ ํด๋์ค์์ ์์กด๊ด๊ณ๊ฐ ํ์ํ๋ค๋ฉด ์ด Bean(์คํ๋ง IoC ์ปจํ ์ด๋๊ฐ ๊ด๋ฆฌ ํ๋ ๊ฐ์ฒด)์ผ๋ก ๋ฑ๋ก๋ ์ธ์คํด์ค๋ค์ ์ ๋ฌํด์ฃผ์ด ์์กด์ฑ ์ฃผ์ (Dependency Injection)์ด ๊ฐ๋ฅํด์ง๋ค.
Last updated