item05(2)
-
[์ดํํฐ๋ธ ์๋ฐ] Item05 ์๋ฒฝ๊ณต๋ต. ํฉํฐ๋ฆฌ ๋ฉ์๋ ํจํด
item05. ์์์ ์ง์ ๋ช ์ํ์ง ๋ง๊ณ ์์กด๊ฐ์ฒด์ฃผ์ ์ ์ฌ์ฉํ๋ผ. " p29. ํฉํฐ๋ฆฌ ๋ฉ์๋ ํจํด" ํฉํฐ๋ฆฌ ๋ฉ์๋ ํจํด Factory Method Pattern ์ด๋? : ๊ฐ์ฒด์งํฅ ๋์์ธ ํจํด์ผ๋ก Factory Method๋ ๋ถ๋ชจ(์์) ํด๋์ค์ ์๋ ค์ง์ง ์์ ๊ตฌ์ฒด ํด๋์ค๋ฅผ ์์ฑํ๋ ํจํด์ด๋ฉฐ, ์์(ํ์) ํด๋์ค๊ฐ ์ด๋ค ๊ฐ์ฒด๋ฅผ ์์ฑํ ์ง๋ฅผ ๊ฒฐ์ ํ๋๋ก ํ๋ ํจํด์ด๊ธฐ๋ ํ๋ค. ๊ฐ์ฒด๋ฅผ ์์ฑํ ๋ ๊ตฌ์ฒด์ ์ผ๋ก ์ด๋ค ํด๋์ค์ ์ธ์คํด์ค๋ฅผ ๋ง๋ค ์ง ์๋ธ ํด๋์ค์์ ๊ฒฐ์ ํ๊ฒ ๋๋ค. (์ธ์คํด์ค์ ์์ฑ์ ์๋ธํด๋์ค์ ์์) ๋ฐ๋ผ์ ๋ถ๋ชจ ์ถ์ ํด๋์ค๋ ์ธํฐํ์ด์ค์๋ง ์์กดํ๊ณ ์ค์ ๋ก ์ด๋ค ๊ตฌํ ํด๋์ค๋ฅผ ํธ์ถํ ์ง๋ ์๋ธ ํด๋์ค์์ ๊ตฌํํ๋ค. -> ์๋ก์ด product๋ฅผ ์ ๊ณตํ๋ ํฉํฐ๋ฆฌ๋ฅผ ์ถ๊ฐํ๋๋ผ๋ ํฉํฐ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ ํด๋ผ์ด์ธํธ ..
2023.01.16 -
[์ดํํฐ๋ธ ์๋ฐ] Item5. ์์์ ์ง์ ๋ช ์ํ์ง ๋ง๊ณ ์์กด ๊ฐ์ฒด ์ฃผ์ ์ ์ฌ์ฉํ๋ผ.
item05. ์์์ ์ง์ ๋ช ์ํ์ง ๋ง๊ณ ์์กด ๊ฐ์ฒด ์ฃผ์ ์ ์ฌ์ฉํ๋ผ. ํด๋์ค๊ฐ ๋ด๋ถ์ ์ผ๋ก ํ๋ ์ด์์ ์์์ ์์กดํ๊ณ , ๊ทธ ์์์ด ํด๋์ค์ ๋์์ ์ํฅ์ ์ค๋ค๋ฉด ์ ์ ์ ํธ๋ฆฌํฐ ํด๋์ค๋ ์ฑ๊ธํค ๋ฐฉ์์ด ์ ํฉํ์ง ์๋ค. ๋ง์ ํด๋์ค๊ฐ ํ๋ ์ด์์ ์์์ ์์กดํ๋๋ฐ ์ฑ ์์ ์์ ๋ก๋ ๋ง์ถค๋ฒ ๊ฒ์ฌ๊ธฐ๋ฅผ ์๋ก ๋ค๊ณ ์๋ค. ๋ง์ถค๋ฒ ๊ฒ์ฌ๊ธฐ๋ Dictionary์ ์์กดํ๋ค๊ณ ๊ฐ์ ํ๋ค. 1) ์ ์ ์ ํธ๋ฆฌํฐ ํด๋์ค public class SpellChecker { // ์์์ ์ง์ ๋ช ์ํ ์ฝ๋ (์์์ ์ง์ ์์ฑํ๋ค, new ๋ก ์์ฑ ) private static final Dictionary dictionary = new Dictionary(); private SpellChecker() { } public static boo..
2023.01.12