๋ ์5 ์ฌํ ์ํํธ์จ์ด ๐ ์ฌํ ์ํํธ์จ์ด (Understanding Software) 36์ฅ. ํ๋ก๊ทธ๋๋จธ๊ฐ ๊ฐ๋ก ๊ฐ์ ์ด์ (ํ๋ก๊ทธ๋๋จธ๋ค์ด ๋์ ์ฝ๋๋ฅผ ํ ๋ฒ ๋ง๋๋๋ฐ ๊ทธ์น์ง ์๊ณ ๊ณ์ ๋ง๋๋ ์ด์ ๊ฐ ๋ฌด์์ผ๊น?) - ํ๋ก๊ทธ๋๋จธ ๋๋ค์๊ฐ ์์ ์ด ์ค์ ๋ก ๋ฌด์จ ์ผ์ ํ๋์ง ์ ํ ๋ชจ๋ฅธ๋ค. ๋ค๋ฅธ ํ๋ก๊ทธ๋๋จธ์ ์ค์๋ฅผ ๊ทธ๋๋ก ๋ฐ๋ผ ํ๋ฉฐ, ๊ทธ๋ฅ ๋ณต๋ถํ ์ฝ๋์ ๋ค๋ฅด์ง ์์ ์๋ฏธ์๋ ์ฃผ๋ฌธ์ ์ ๋ ฅํ๋ฉฐ ์์ ์ด ๋ฐ๋ผ๋ ๋๋ก ์์ง์ฌ์ฃผ๊ธธ ๋ฐ๋๋ค. ์ด ๋ชจ๋ ํ๋์ ์ปดํจํฐ์ ๋ฉ์ปค๋์ฆ์ด๋ ์ํํธ์จ์ด ์ค๊ณ ์์น, ๋ณธ์ธ์ด ์ ๋ ฅ ์ค์ธ ์ฉ์ด๋ ๋ถํธ์ ์๋ฏธ๋ฅผ ์ ๋๋ก ์ดํดํ์ง ๋ชปํ ์ฑ ํ๋ค. - ๊ฐ๋ฐ์ ์ ๋ง ์ํ๊ธฐ ์ํด์๋ ์์์ผ ํ ๊ฒ์ด ๋๋ฌด ๋ง๋ค. ๊ทธ๋ผ ๋ฌด์์ ๋ฐฐ์์ผ ํ ๊น? ๊ณต๋ถํ ๋ถ์ผ๋ฅผ ์์๋ด๊ณ ์ถ์ ๋ ํ ์ ์๋ ๋ช ๊ฐ์ง ์ง๋ฌธ์ด ์๋ค. - ์์ ์ด ์ด ๋ชจ๋ ์ฝ.. 2024. 1. 25. 2024๋ ๋ ๋ ์ ๋ฆฌ์คํธ ๐ ์ฝ์ ๋์ ๋ชฉ๋ก 1์ 1. ์ฌํ ์ํํธ์จ์ด (๋งฅ์ค ์นด๋ท ์๋ ์ฐ๋) โญโญโญโญ 2. ์ํํธ์จ์ด ์ฅ์ธ (์ฐ๋๋ก ๋ง์ฟ ์) โญโญโญ 2024. 1. 24. ์คํ๋ง ์ธ ์ก์ (3ํ) 1์ฅ ์คํ๋ง ์์ผ๋ก ์คํ๋ง ์ปจํ ์ด๋ : ๊ฐ์ฒด๊ฐ ํ์ด๋๊ณ , ์๋ผ๊ณ , ์๋ฉธํ๋ค. ๋นํฉํ ๋ฆฌ(org.springframework.beans.factory.BeanFactory ์ธํฐํ์ด์ค์ ์ ์๋จ) DI์ ๋ํ ๊ธฐ๋ณธ์ ์ธ ์ง์ ์ ํ๋ฆฌ์ผ์ด์ ์ปจํ ์คํธ(org.springframework.context.ApplicationContext ์ธํฐํ์ด์ค์ ์ ์๋จ) ๋นํฉํ ๋ฆฌ๋ฅผ ํ์ฅํด ํ๋กํผํฐ ํ์ผ์ ํ ์คํธ ๋ฉ์์ง๋ฅผ ์ฝ๊ณ ํด๋น ์ด๋ฒคํธ ๋ฆฌ์ค๋์ ๋ํ ์ ํ๋ฆฌ์ผ์ด์ ์ด๋ฒคํธ ๋ฐํ ๊ฐ์ ์ ํ๋ฆฌ์ผ์ด์ ํ๋ ์์ํฌ ์๋น์ค ์ ๊ณต ์คํ๋ง ํ๋ ์์ํฌ ์ฝ์ด ์คํ๋ง ์ปจํ ์ด๋ ๋น์ ์์ฑ, ์ค์ , ๊ทธ๋ฆฌ๊ณ ์ฒ๋ฆฌ ๋ฐฉ๋ฒ์ ๊ด๋ฆฌํ๋ ์ปจํ ์ด๋. ๋น ํฉํ ๋ฆฌ์ ์ ํ๋ฆฌ์ผ์ด์ ์ปจํ ์คํธ๊ฐ ์ฌ๊ธฐ์ ํฌํจ๋๋ค. ๋ชจ๋ ์คํ๋ง์ ๋ชจ๋์ ์ฝ์ด ์ปจํ ์ด๋ ์์ ๊ตฌ์ถ๋๋ค. AOP ๋ชจ๋(as.. 2023. 3. 18. ์คํ๋ง ์ ๋ฌธ์ ์ํ ์๋ฐ ๊ฐ์ฒด ์งํฅ์ ์๋ฆฌ์ ์ดํด ์ฑํฐ 1 ์ฌ๋์ ์ฌ๋ํ ๊ธฐ์ ์คํ๋ง ํ๋ ์์ํฌ์ ๊ฐ๋ ์ OOP ํ๋ ์์ํฌ์ด๋ค ์คํ๋ง ์ผ๊ฐํ IoC/DI, AOP, PSA ์๋ฐ ์์์ผ ํ ๊ฒ - OOP ๊ฐ๋ - ์๋ฐ ์ธ์ด์ ๋ฌธ๋ฒ - ์๋ฐ๊ฐ OOP ๊ฐ๋ ์ ๊ตฌํํ ๋ฐฉ์ ์ฑํฐ 2 ์๋ฐ์ ์ ์ฐจ์ /๊ตฌ์กฐ์ ํ๋ก๊ทธ๋๋ฐ main() ๋ฉ์๋(ํ๋ก๊ทธ๋จ์ด ์คํ๋๋ ์์์ )๊ฐ ์คํ๋ ๋ T๋ฉ๋ชจ๋ฆฌ์๋ ์ด๋ค ์ผ์ด ์ผ์ด๋๋์ง? JRE๊ฐ ํ๋ก๊ทธ๋จ ์์ main() ๋ฉ์๋ ํ์ธ ์์ ๊ฒฝ์ฐ, JVM ๋ถํ JVM์ ๋ชฉ์ ํ์ผ์ ๋ฐ์ ์คํ JVM์ ์ ์ฒ๋ฆฌ ๊ณผ์ ์ํ java.lang ํจํค์ง๋ฅผ T ๋ฉ๋ชจ๋ฆฌ์ ์คํํฑ ์์ญ์ ๋ฐฐ์น ๊ฐ๋ฐ์๊ฐ ์์ฑํ ๋ชจ๋ ํด๋์ค์ ์ํฌํธ ํจํค์ง๋ฅผ ์คํํฑ ์์ญ์ ๋ฐฐ์น ๋ฉํฐ ์ค๋ ๋์ ๋ฉํฐ ํ๋ก์ธ์ค๋? ๋ฉํฐ ์ค๋ ๋(Multi Thread) - ๋ฉํฐ ์ฐ๋ ๋์ T๋ฉ๋ชจ๋ฆฌ ๋ชจ๋ธ์.. 2022. 12. 6. ํค๋ ํผ์คํธ ๋์์ธ ํจํด ๋์์ธ ํจํด์ ์์ฑ ํจํด, ํ๋ ํจํด, ๊ตฌ์กฐ ํจํด์ผ๋ก ๊ตฌ๋ถํด์ ์๊ฐํด ๋ณด์์ผ ํ๋ค. 2022.11.05(ํ ) ์ฑํฐ 1 - Strategy Pattern (์ ๋ต ํจํด) ์๋ฐ ์ธํฐํ์ด์ค๋ ๊ตฌํ๋ถ๊ฐ ์๊ธฐ ๋๋ฌธ์ ์ฝ๋๋ฅผ ์ฌํ์ฉํ ์ ์๋ค. (Java interfaces have no implementation code, so no code reuse) -> ์ฆ, ํ๋์ ์์ ํ๋ ค๋ฉด ํ๋์ด ์ ์๋ ์์ํด๋์ค ๋ํ ๋ค ์์ ํด์ผ ํ๋ค. ๋์์ธ ์์น์ ๊ธฐ๋ณธ์ ๋ณํํ๋ ๊ฒ๊ณผ ๋ณํ์ง ์๋ ๊ฒ์ ๊ตฌ๋ถํ๋ ๊ฒ์ด๋ค. ๋ ๋ค๋ฅธ ์์น์ ๊ตฌํ์ด ์๋ ์ธํฐํ์ด์ค๋ฅผ ํ๋ก๊ทธ๋จํ๋ ๊ฒ์ด๋ค. (program to an interface, in other words, program to a supertype) Composition์ด inheri.. 2022. 11. 5. ์ด์ 1 ๋ค์