Posts
Q&A
์๋ ํ์ธ์ ๊ฐ์ ์๋ฃ๊ณ ์๋๋ฐ ์ง๋ฌธ์ด์์ด์
๋ค๋ฅธ ๊ถ๊ธํ ๋ถ๋ค์ ์ํด ์ฌ์กฑ์ ๋ฌ์๋ฉด...[#th:block th:each="user, userStat : ${users}"] var user[[${userStat.count}]] = [[${user}]]; [/th:block]์์ th:block ์ด ์๋ต๋ ํํ๋ผ๊ณ ํฉ๋๋ค.
- 1
- 2
- 400
Q&A
MemberService memberService = new MemberServiceImpl(); ์ ๋ํด ์ง๋ฌธ ์์ต๋๋ค.
๋ง์ํ์ ๊ฑฐ ์ฒ๋ผ MemberService memberService = new MemberService(); ๋ก ํ์๋ฉด ์๋ ๊ทธ๋ฆผ์ฒ๋ผ ์ค๋ฅ๊ฐ ๋ฐ ๊ฒ๋๋ค. (์ฌ์ง) ์ํฌํธ ๋ฐ์์จ MemberService๋ ์ธํฐํ์ด์ค๋ผ์ธ์คํด์คํ ๋ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค.(์ธํฐํ์ด์ค๋ ์์ฑ์๋ฅผ ๊ฐ์ ์ ์์ต๋๋ค) ์ ๋ ๊ฒ A a = new B( ); ๊ฐ ๋๋ ์ด์ ๋๋คํ์ฑ ๋๋ฌธ์ ๋๋ค.๋คํ์ฑ์ ๊ดํ ๋ด์ฉ์ ์ฌ๊ธฐ๋ฅผ ์ฐธ์กฐํด์ฃผ์ธ์.https://wikidocs.net/269 ๋ง์ฝ ๋น์ง๋์ค ์๊ตฌ์ฌํญ์ด ์ธํฐํ์ด์ค๋ฅผ์์จ๋ ๋๊ณ , MemberService๊ฐ ํด๋์ค์๋ค๋ฉด1๋ฒ ์ง๋ฌธ์ ์ฝ๋๋ ๋ฌผ๋ก ๊ฐ๋ฅํฉ๋๋ค. MemberService memberService = new MemberService(); ๋ฐ๋๋ก ํ ์คํธ๋ง์ ์ํด์๋ผ๋ฉด ์๋์ฒ๋ผ ํด๋์ค๋ฅ๋ ๋์ง ์์ต๋๋ค๋ง OCP ๊ด์ ์ผ๋ก ๋ดค์๋๋ ์ถ์ฒ๋์ง ์์ ๊ฑฐ ๊ฐ์ต๋๋ค.... MemberServiceImpl memberService = new MemberServiceImpl(); ๊ทธ๋ผ ์๋ฃํ์ผ๋ก ์ธํฐํ์ด์ค์ ๊ตฌํ์ฒด ์ค์ธ์ ๋ญ ์ฐ๋๋๋... ๊ธฐ๋ณธ์ ์ผ๋ก๋ ์ธํฐํ์ด์ค๋ผ๊ณ ์๊ณ ์์ต๋๋ค.์ํฌํฐ์ค David๋์ด ๋ค๋ฅธ ์ง๋ฌธ์์ ๋ต๊ธ๋ก ๊ณต์ ํ์ ๊ธ ์ ๋๋ค. https://github.com/david-learner/java-study/tree/master/2018OKKYCON#%EC%84%A4%EA%B3%84 "ํ ์คํธ๋ฅผ ํ ๋ ๊ตฌํ(implementation)์ด ์๋๋ผ ์ค๊ณ(interface)์ ๋ง์ถฐ์ผ ํ๋ค" ๋ค๋ง, ๊ฐ์ฒด๊ฐ ์ธํฐํ์ด์ค์ ์์กดํ์ง ์๊ณ ํน์ (๊ตฌ์ฒด์ ์ธ) ๊ตฌํ์ฒด์ ์์กดํ๊ณ ์๋ค๋ฉด ํด๋น ๊ตฌํ์ฒด๋ฅผ ํ ์คํธํด์ผ ํ๋ ์ผ์ด ์์ ์ ์์ต๋๋ค. ํ๋ฆฐ ์ ์์ผ๋ฉด ํผ๋๋ฐฑ ๋ถํ๋๋ฆฝ๋๋ค!
- 0
- 2
- 818