๋์์ธํจํด์ ์ ์ฉํ์ฌ ํ๋ก๊ทธ๋จ์ ๋ง๋๋ ์ค์ํ ์ด์ ๋
๋ค์ํ ์ถ๊ฐ ์๊ตฌ์ฌํญ์ ๋ํด ์ข ๋ ์ฝ๊ฒ ๋์ํ๊ธฐ ์ํด์์
๋๋ค.
์ฆ ์ฝ๊ฒ ์ฝ๋๋ฅผ ์์ ํ ์ ์๊ฒ ํ๊ธฐ ์ํด์์
๋๋ค.
๋ด๊ฐ ์ด์ ์ ํด ๋ณธ ๊ฒฝํ, ๋ค๋ฅธ ์ฌ๋์ด ํด ๋ณธ ๊ฒฝํ ๋ฑ์ ํตํด์
์ด๋ฐ ์ํฉ์ ์ด๋ฐ ๋ชฉ์ ์ ์์ ์ด๋ผ๋ฉด ์ด๋ ๊ฒ ํ๋ ๊ฒ์ด ์ข๋ค๋ผ๊ณ
์ฒด๊ณ์ ์ผ๋ก ์ ๋ฆฌ๋ ๊ฒ์ด ๋์์ธํจํด์
๋๋ค.
๊ทธ๋์ ํ๋ก๊ทธ๋๋ฐ์ ๋์์ธ ํจํด์ ์ ์ฉํ๊ฒ ๋๋ฉด
์ข ๋ ํธํ๊ฒ ํ๋ก๊ทธ๋๋ฐ์ ํ ์ ์๊ฒ ๋ฉ๋๋ค.
'๋์์ธํจํด with JAVA (Gof)' ๊ฐ์ข๋ Gof Design Pattern ์ ์ผ๋ถ๋ฅผ ์๋ฐ๋ฅผ ํตํด ์ค๋ช
ํ ๊ฐ์ข์
๋๋ค.
๋์์ธํจํด์ ์ ์ฉ์ฑ
๊ตฌ๊ตฌ๋จ 2๋จ ๋ง๋ค๊ธฐ
๐๐ปโโ๏ธ1~999๊น์ง ์ถ๋ ฅํด์ผ ํ ๊ฒฝ์ฐ, ์ด๋ค ๋ฐฉ๋ฒ์ด ์ข์๊น์?
๐๐ปโโ๏ธ[๋ฐฉ๋ฒ 1]์ ์์ฒญ ๊ธด ํ๋์ฝ๋ฉ์ ํด์ผ ํ๋ ๋ฐ๋ฉด, [๋ฐฉ๋ฒ 2]๋ for๋ฌธ ์์ ์กฐ๊ฑด์ i<1000 ์ผ๋ก๋ง ๋ณ๊ฒฝํด์ฃผ๋ฉด ๋!
๐๐ปโโ๏ธ3๋จ์ ์ถ๋ ฅํด์ผ ํ ๊ฒฝ์ฐ, ์ด๋ค ๋ฐฉ๋ฒ์ด ์ข์๊น์?
๐๐ปโโ๏ธ[๋ฐฉ๋ฒ 1]์ ๊ฐ๋ก ์์ ์ซ์ 2๋ฅผ ๋ชจ๋ 3์ผ๋ก ๋ฐ๊ฟ์ค์ผ ํ๋ ๋ฐ๋ฉด, [๋ฐฉ๋ฒ 2]๋ int n = 3; ์ผ๋ก๋ง ๋ณ๊ฒฝํด์ฃผ๋ฉด ๋!
์ด ์์๋ ๋์์ธํจํด์ ์๋์ง๋ง ํ๋ก์ ํธ์ ๋์์ธํจํด์ ์ ์ฉํ๋ฉด ์ด ์์์ฒ๋ผ
๋ค์ํ๊ฒ ์ถ๊ฐ๋๋ ์๊ตฌ์ฌํญ์ ์ข ๋ ์ฝ๊ฒ ๋์ํ ์ ์์ต๋๋ค.
์์ค์ฝ๋์๋ฃ๋ ์ฑ๊ธํดํจํด์ ์ธ ๋ฒ์งธ ๊ฐ์ "์ฐ๋ ๋ ์ฌ์ฉ์ ๋ฌธ์ ์ ํด๊ฒฐ๊ณผ ์ข ๋ ํจ์จ์ ์ธ ์ฝ๋ ๋ง๋ค๊ธฐ"์ ์ฒจ๋ถ ๋์ด ์์ต๋๋ค.
ํด๋น ์์
์์ ์ข์ธก ์๋จ์ ์์
๋ฆฌ์คํธ๋ฒํผ์ ๋๋ ์ ๋ ์ฒจ๋ถํ์ผ์ ํ์ธํ ์ ์์ต๋๋ค.