์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- heapq
- KDT
- HTML
- ์ฝ๋ฉ์ ํ
- ๊ตญ๋น์ง์
- ํ ์ดํ๋ก์ ํธ
- JS
- ๋๋ฆผ์ฝ๋ฉ
- fe
- ์ฝ๋ฉ
- react
- ํ๋ก๊ทธ๋๋จธ์ค
- ํฌ๋กค๋ง
- ํ์ด์ฌ
- mongodb
- ๋ชจ๊ฐ์ฝ
- node.js
- ๊ฐ๋ฐ
- error
- ์๊ณ ๋ฆฌ์ฆ
- ํ๋ก์ ํธ
- CSS
- javascript
- ๋ ธ๋ง๋์ฝ๋
- ๋ฐฑ์ค
- ํ๋ก ํธ์๋
- ๊ทธ๋ฆฌ๋
- Python
- ์ฝ๋ฉํ ์คํธ
- Til
- Today
- Total
๋ชฉ๋กDi (2)
๐ฑ → ๐ณ
IoC(Inversion of Control)๋? IoC๋ Inversion of Control์ ์ค์ ๋ง๋ก, ์ ์ด์ ์ญ์ ์ด๋ผ๋ ๋ป์ด๋ค. ํ๋ก๊ทธ๋จ์ ํ๋ฆ์ ๊ฐ๋ฐ์๊ฐ ์ ์ดํ์ง ์๊ณ , ํ๋ก๊ทธ๋จ์ด๋ ํ๋ ์์ค์ด ์ง์ ์ ์ด๋ฅผ ํ๋ค๋ ๋ง์ด๋ค. ์ปดํฌ๋ํธ์ ์์กด ๊ด๊ณ ๊ฒฐ์ (Component dependency resolution), ๊ฐ์ฒด์ ์๋ช ์ฃผ๊ธฐ(life cycle)์ ๊ฐ์ ์ผ์ ๋์ ์ํํด์ค๋ค. ํํ ์คํ๋ง ํ๋ ์์ค์ ์ด์ฉํด์ ๊ฐ๋ฐํ ๋ ์ฌ๋ฌ๊ฐ์ง Bean์ ์ฌ์ฉ ํ ๊ฒ์ด๋ค. ์ฌ์ฉ์์ ์์ฒญ์ด ๋ค์ด์ค๋ฉด, ์์ฒญ์ ์๋ง์ Bean์ ์์ฑํด์ ํ์ํ ์ผ์ ํ๋๋ก ์ํจ๋ค. ํด๋น Bean์ด ํ ์ผ์ ๋ง์น๋ฉด Bean์ ์ญ์ ํด์ค๋ค. ํ์ง๋ง ์ด๋ฐ ๊ฐ์ฒด์ ์์ฑ๊ณผ ์๋ฉธ์ด ์ด๋ป๊ฒ ์ด๋ฃจ์ด์ง๋์ง ์ ํ์๊ฐ ์๋ค. ํ๋ก๊ทธ๋๋จธ๊ฐ ์ง์ ์ ์ด ํ ..
private final ProductService productservice ๋ฌธ๋ ์์กด์ฑ ์ฃผ์ ์ ํ๋ค๊ฐ final์ ์จ์ฃผ๋ ์ด์ ๊ฐ ๊ถ๊ธํด์ก๋ค . ์์กด์ฑ ์ฃผ์ (Dependency Injection)์์ final ํค์๋๋ฅผ ์ฌ์ฉํ๋ ์ด์ ๋ ๋ค์๊ณผ ๊ฐ๋ค. ๋ถ๋ณ์ฑ(Immutability) final ํค์๋๋ฅผ ์ฌ์ฉํ๋ฉด ํด๋น ๋ณ์๊ฐ ํ ๋ฒ ์ด๊ธฐํ๋ ์ดํ์๋ ๊ฐ์ ๋ณ๊ฒฝํ ์ ์๊ฒ ๋๋ค. ์ด๋ ๊ฐ์ฒด์ ์ํ๋ฅผ ๋ถ๋ณํ๊ฒ ์ ์งํ๊ณ , ๊ฐ์ฒด์ ๋ถ๋ณ์ฑ(Immutability)์ ๋ณด์ฅํ๋ ๋ฐ ๋์์ด ๋๋ค. ์์กด์ฑ ์ฃผ์ ์์๋ ์ฃผ์ ๋ ๊ฐ์ฒด์ ์ํ๊ฐ ๋ณ๊ฒฝ๋์ง ์๋๋ก ํ๋ ๊ฒ์ด ์ค์ํ๊ธฐ ๋๋ฌธ์ final ํค์๋๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ์ฒด์ ๋ถ๋ณ์ฑ์ ๋ณด์ฅํ ์ ์๋ค. ์์ ์ฑ(Safety) final ํค์๋๋ฅผ ์ฌ์ฉํ๋ฉด ์ปดํ์ผ๋ฌ๊ฐ ๋ณ์์ ์ด๊ธฐํ ์ฌ๋ถ๋ฅผ..