Computer Science/๋ชจ์๋ฉด์
5

[๋ฉด์ ์ง๋ฌธ] IoC(Inversion of Control) ์ด๋ ๋ฌด์์ด๊ณ , ์คํ๋ง์์๋ ์ด๋ป๊ฒ ๊ตฌํํ๋์ง ์ค๋ช
ํด์ฃผ์ธ์.
1. ์์ฝ ๋ต๋ณโ
KEY WORD: ์ ์ด๊ถ์ ์ญ์ DI, Spring์์์ IoC ๋์ ๊ณผ์ , Spring์์ DI 3๊ฐ์ง ๋ฐฉ๋ฒ๊ณผ ํน์ง, Bean ๋ฑ๋ก 3๊ฐ์ง ๋ฐฉ๋ฒ๊ณผ ํน์งIoC๋, '๊ฐ์ฒด ์์ฑ๊ณผ ๊ด๋ฆฌ ํต์ ๊ถ์ ๊ฐ๋ฐ์์์ ํ๋ ์์ํฌ๋ก ๋๊ฒจ์ค๋ค.' ๋ผ๋ ์ค๊ณ ์์น์
๋๋ค.์ฅ์ ์ ๊ฒฐํฉ๋๋ฅผ ๋ฎ์ถ์ด ์ ์ง ๋ณด์์ฑ๊ณผ ์ฝ๋ ์ฌ์ฌ์ฉ์ฑ์ ๋์ด๊ณ , ํ
์คํธ์ ์ฉ์ดํ๊ฒ ํด์ค๋ค๋ ์ ์
๋๋ค.Spring์์๋ Spring IoC ์ปจํ
์ด๋๋ฅผ ํ์ฉํ์ฌ ์ด ์์น์ ๊ตฌํํฉ๋๋ค. ๊ตฌํ ๊ณผ์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.๊ฐ๋ฐ์๊ฐ ์์ฑํ pom.xml ํน์ ์ด๋
ธํ
์ด์
๊ธฐ๋ฐ, ์๋ฐ ์ฝ๋ ๊ธฐ๋ฐ์ bean ๋ฑ๋ก ๋ช
์ธ์๋ฅผ SpringIoC ์ปจํ
์ด๋๊ฐ ์ฝ์ต๋๋ค.์ฝ์ ๋ด์ฉ์ ํ ๋๋ก Spring Ioc ์ปจํ
์ด๋ ๋ด๋ถ์ bean ๊ฐ์ฒด๋ฅผ ์์ฑ ํ ๋ฑ๋ก ํฉ๋๋ค.Busines..
2025.07.14
Computer Science/๋ชจ์๋ฉด์

[๋ฉด์ ์ง๋ฌธ] Spring์์ Bean์ ๋ฑ๋กํ๋ ๋ํ์ ์ธ ๋ ๊ฐ์ง ๋ฐฉ๋ฒ์ ์ฐจ์ด์ ์ ๋ฌด์์ธ๊ฐ์
1. ์์ฝ ๋ต๋ณโ
KEY WORD: @Component = ํด๋์ค ๊ธฐ๋ฐ, @Bean = ๋งค์๋ ๊ธฐ๋ฐ, ๊ฐ๋ฐ์๊ฐ ์ง์ ๊ฐ์ฒด ์์ฑ์ ๊ด์ฌํด์ผ ํ๋๊ฐ์ ์ฐจ์ด2. ์์ธ ์ค๋ช
๐Bean ๋ฑ๋ก ์ด๋
ธํ
์ด์
์ ๊ทธ ๋์์ด ํด๋์ค์ธ์ง, ๋งค์๋์ธ์ง์ ๋ฐ๋ผ ๋๋ฉ๋๋ค.@Component: ํด๋์ค ๋์, Bean ๋ฑ๋กํ๊ณ ์ถ์ ํด๋์ค์ ๋ช
์ํ๋ฉด, ํด๋น ํด๋์ค๊ฐ Bean์ผ๋ก ๋ฑ๋ก ๋ฉ๋๋ค.@Configuration ํด๋์ค์ ๋งค์๋์ @Bean: ๋งค์๋ ๋์, ์ด ์ด๋
ธํ
์ด์
์ด ์ ํ ๋งค์๋์ ๋ฐํ ๊ฐ์ฒด๊ฐ Bean์ ๋ฑ๋ก ๋ฉ๋๋ค.(์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฑ ํ๋ ์์ํฌ๊ฐ ์จ์ ํ ์ค์ค๋ก ๊ฐ์ฒด๋ฅผ ๋ง๋ค ์ ์๋ ํด๋์ค์ ๋ํ์ฌ, ๋ฏธ๋ฆฌ ๊ฐ๋ฐ์๊ฐ ํ์ํ ํ๊ฒฝ ์ค์ ์ ์ฝ๋๋ก ์ธํ
ํด๋๋ ๋ฐฉ์์
๋๋ค.)์ดํ Spring Application์ด @CompnentS..
2025.07.14
Computer Science/๋ชจ์๋ฉด์

[๋ชจ์ ๋ฉด์ ] static ํค์๋๋ ์ ์ฌ์ฉํ๋ฉฐ ๋จ์ ์ ๋ฌด์์ธ๊ฐ์
1. ์์ฝ ๋ต๋ณโ
KEY WORD: ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ, ํด๋์ค ์์ค์ ๊ณต์ ์์, ๊ฐ์ฒด ์งํฅ ์๋ฐ, ์จ๊ฒจ์ง ์์กด์ฑ ๋ฌธ์ , ๋จ์ ํ
์คํธ๊ฐ ์ด๋ ค์static ํค์๋๋ฅผ ์ฌ์ฉํ ๋ณ์ ํน์ ๋งค์๋๋ ์ปดํ์ผ์์ ์ ๋ฑ ํ๋ฒ๋ง Method ์์ญ์ ํ ๋น๋ ๋ค์, ํ๋ก๊ทธ๋จ ์ข
๋ฃ ์๊น์ง ์ ์ง๋ฉ๋๋ค.์ด๋ฌํ ํน์ฑ ๋์, ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ์ ํจ์จ์ ์ด๊ณ , ํด๋์ค ์์ค์ ๊ณต์ ์์์ผ๋ก ์ฌ์ฉ๋์ด์ผ ํ๋ ๋ถ๋ณ ์์๋ Utill ํจ์๋ฅผ ๊ตฌํํ ๋ ์ฌ์ฉ๋ฉ๋๋ค. ํ์ง๋ง static์ ๋ค์๊ณผ ๊ฐ์ ์ฌ๊ฐํ ๋ถ์์ฉ์ด ๋๋ฐ๋ ์ ์์ผ๋ฏ๋ก ์ฌ์ฉ ์ ์ ์ ํด์ผ ํฉ๋๋ค.์ฒซ ๋ฒ์งธ๋ก, ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ์๋ฐํ๋ ํค์๋ ์
๋๋ค.static ๋ฉค๋ฒ ๋ณ์๋ฅผ ํ์ฉํ๋ ํด๋์ค์ ๊ฐ์ฒด๋ ์์ ์ ์ํ
๋ฅผ ์ค์ค๋ก ์๋ฒฝํ๊ฒ ์ ์ดํ์ง ๋ชปํ๋ฉฐ, ํ ๊ฐ์ฒด๋ ์๋น์ค์ ์ํด ์์ ์ ์ํ๊ฐ ..
2025.07.07
Computer Science/๋ชจ์๋ฉด์

[๋ชจ์๋ฉด์ ] Self-Invocation์ ํด๊ฒฐํ ์ ์๋ ๋ฐฉ๋ฒ์๋ ์ด๋ค ๊ฒ๋ค์ด ์๋์?
1. ์์ฝ ๋ต๋ณโ
KEY WORD: Bean ๋ถ๋ฆฌ, ์๊ฐ์ฃผ์
SELF-INVOCATION ์ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ 2๊ฐ์ง ์
๋๋ค.์ฒซ ๋ฒ์งธ ๋ฐฉ๋ฒ์ ์๊ฐ ํธ์ถ๋ ๋งค์๋๋ฅผ ๋ค๋ฅธ ํด๋์ค๋ก ๋ถ๋ฆฌํ์ฌ, ํด๋น ๋งค์๋ ํธ์ถ ์์๋ AOP ๋น ํ๋ก์๊ฐ ํธ์ถ๋๊ฒ ํ๋ ๊ฒ์
๋๋ค.๋ ๋ฒ์งธ ๋ฐฉ๋ฒ์ ๊ฐ์ ๊ฐ์ฒด ๋ด์ ๋งค์๋๋ฅผ ํธ์ถํ ์, this. ํค์๋๋ฅผ ์ฌ์ฉํ๋ ๋์ ๊ฐ์ฒด ์ด๋ฆ. ์ผ๋ก ์๊ธฐ ์์ ์ ํ ๋ฒ ๋ ์ฃผ์
ํ๋ ๊ฒ์
๋๋ค. Self-Invocation ๋ฐ์ ์ํฉpublic class Test { public void methodAB (A a, B b) { saveA(a); saveB(b); } public void saveA (A a) { repository.save(A a);..
2025.07.07
Computer Science/๋ชจ์๋ฉด์

[๋ชจ์ ๋ฉด์ ] ์ ์ ํฉํ ๋ฆฌ ๋งค์๋ ํจํด๊ณผ ๋น๋ ํจํด์ ๋ํด์ ์ค๋ช
ํด์ฃผ์ธ์.
1. ์์ฝ ๋ต๋ณโ
KEY WORD: ์์ฑ์ ์จ๊ธฐ๊ธฐ, static ๋งค์๋๋ก ํฉํ ๋ฆฌ ๊ตฌํ, Builder = ์กฐ๋ฆฝ๊ณผ์ ๊ณผ ์์ฑ์ ๋ถ๋ฆฌ์ ์ ํฉํ ๋ฆฌ ๋งค์๋ ํจํด์ ํฉํ ๋ฆฌ ํจํด์ ๊ตฌํ์ฒด ์ค ํ๋ ์
๋๋ค.ํฉํ ๋ฆฌ ํจํด์ ๊ตฌ์ฑ ์์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.์ ํ ์ธํฐํ์ด์ค: ์์ฑํ ๊ตฌํ์ฒด์ ๋ํ ๋ช
์ธ๋ง ์ถ์ํ ๋์ด ์์ต๋๋ค.๊ตฌ์ฒด์ ์ธ ์ํ: ๋ช
์ธ์ ๋ง๊ฒ ๊ฐ์ฒด๋ฅผ ์ด๋ป๊ฒ ๊ตฌ์ฒดํ์ํฌ์ง ์ฝ๋ ๋ก์ง์ด ์์ต๋๋ค.ํฉํ ๋ฆฌ: ์ฌ์ฉ์์ ์์ฒญ์ ๋ง๊ฒ ๊ตฌํ์ฒด๋ฅผ ๋ฐํํฉ๋๋ค.์ ์ ํฉํ ๋ฆฌ ๋งค์๋ ํจํด์ ํฉํ ๋ฆฌ ๋ถ๋ถ์ static method๋ก ๊ตฌํํ ๊ฒ์
๋๋ค.์ ์ ํฉํ ๋ฆฌ ๋งค์๋ ํจํด์ ์ฅ์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.์์ฑ ๋ชฉ์ ์ ๋ํ ํํ์ด ๋งค์๋ ์ด๋ฆ์ผ๋ก ๊ฐ๋ฅํด์ง๋ค.์ธ์คํด์ค์ ๋ํ ํต์ ๋ฐ ๊ด๋ฆฌ๊ฐ ๊ฐ๋ฅํด์ง๋ค. -> ์ํ๋ ๋ฐฉํฅ์ผ๋ก๋ง ๊ฐ์ฒด ์์ฑ์ ํ์ ํ ์ ์์, ..
2025.07.07
Computer Science/๋ชจ์๋ฉด์