๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋กIOC (1)

๐‘†๐‘ข๐‘›๐‘ โ„Ž๐‘–๐‘›๐‘’ ๐‘Ž๐‘“๐‘ก๐‘’๐‘Ÿ ๐‘Ÿ๐‘Ž๐‘–๐‘›โœง

[Spring] IoC

โญ IoC (Inversion of Control) ์ œ์–ด์˜ ์—ญ์ „ ์Šคํ”„๋ง ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ๋Š” Object(Bean) ์˜ ์ƒ์„ฑ๊ณผ ์˜์กด ๊ด€๊ณ„ ์„ค์ •, ์‚ฌ์šฉ, ์ œ๊ฑฐ ๋“ฑ์˜ ์ž‘์—…์„ ์Šคํ”„๋ง ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ๋‹ด๋‹นํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ฆ‰ ์Šคํ”„๋ง ์ปจํ…Œ์ด๋„ˆ๊ฐ€ Object์— ๋Œ€ํ•œ ์ œ์–ด๊ถŒ์„ ๊ฐ–๊ณ  ์žˆ๋‹ค๊ณ  ํ•ด์„œ IOC๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์Šคํ”„๋ง ์ปจํ…Œ์ด๋„ˆ๋ฅผ IOC ์ปจํ…Œ์ด๋„ˆ๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค. ์ฆ‰, ์ œ์–ด์˜ ํ๋ฆ„์„ ๋ฐ”๊พผ๋‹ค๋Š” ์˜๋ฏธ์ž…๋‹ˆ๋‹ค. ๊ธฐ์กด์˜ ์ž๋ฐ” ํ”„๋กœ๊ทธ๋ž˜๋ฐ์€๊ฐœ๋ฐœ์ž๊ฐ€ class๋ฅผ ์ƒ์„ฑํ•˜๋ฉด new๋ฅผ ํ†ตํ•ด์„œ ์ง์ ‘ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•œํ›„ ์‚ฌ์šฉํ•˜์˜€์ง€๋งŒ ์‚ฌ์šฉ์ž์˜ ์ œ์–ด์—์„œ ๋ฒ—์–ด๋‚˜ Spring์— ์˜ํ•ด ์ƒ์„ฑ๋˜๊ณ  ๊ด€๋ฆฌ๋˜๋ฉฐ ์ด๋•Œ ์ƒ์„ฑ๋œ ์ž๋ฐ” ๊ฐ์ฒด๋Š” Bean์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ์กด๋ฐฉ๋ฒ• Spring 1. ๊ฐ์ฒด ์ƒ์„ฑ 2. ํด๋ž˜์Šค ๋‚ด๋ถ€์—์„œ ์˜์กด์„ฑ ๊ฐ์ฒด ์ƒ์„ฑ(new) 3. ์˜์กด์„ฑ ๊ฐ์ฒด ๋ฉ”์†Œ๋“œ ..