1. ์์ฝ ๋ต๋ณโ
KEY WORD
:์์ฑ์ ์จ๊ธฐ๊ธฐ
,static ๋งค์๋๋ก ํฉํ ๋ฆฌ ๊ตฌํ
,Builder = ์กฐ๋ฆฝ๊ณผ์ ๊ณผ ์์ฑ์ ๋ถ๋ฆฌ
์ ์ ํฉํ ๋ฆฌ ๋งค์๋ ํจํด์ ํฉํ ๋ฆฌ ํจํด์ ๊ตฌํ์ฒด ์ค ํ๋ ์
๋๋ค.
ํฉํ ๋ฆฌ ํจํด์ ๊ตฌ์ฑ ์์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ ํ ์ธํฐํ์ด์ค
: ์์ฑํ ๊ตฌํ์ฒด์ ๋ํ ๋ช ์ธ๋ง ์ถ์ํ ๋์ด ์์ต๋๋ค.๊ตฌ์ฒด์ ์ธ ์ํ
: ๋ช ์ธ์ ๋ง๊ฒ ๊ฐ์ฒด๋ฅผ ์ด๋ป๊ฒ ๊ตฌ์ฒดํ์ํฌ์ง ์ฝ๋ ๋ก์ง์ด ์์ต๋๋ค.ํฉํ ๋ฆฌ
: ์ฌ์ฉ์์ ์์ฒญ์ ๋ง๊ฒ ๊ตฌํ์ฒด๋ฅผ ๋ฐํํฉ๋๋ค.
์ ์ ํฉํ ๋ฆฌ ๋งค์๋ ํจํด์ ํฉํ ๋ฆฌ ๋ถ๋ถ์ static method๋ก ๊ตฌํํ ๊ฒ์ ๋๋ค.
์ ์ ํฉํ ๋ฆฌ ๋งค์๋ ํจํด์ ์ฅ์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ์์ฑ ๋ชฉ์ ์ ๋ํ ํํ์ด ๋งค์๋ ์ด๋ฆ์ผ๋ก ๊ฐ๋ฅํด์ง๋ค.
- ์ธ์คํด์ค์ ๋ํ ํต์ ๋ฐ ๊ด๋ฆฌ๊ฐ ๊ฐ๋ฅํด์ง๋ค. -> ์ํ๋ ๋ฐฉํฅ์ผ๋ก๋ง ๊ฐ์ฒด ์์ฑ์ ํ์ ํ ์ ์์, ๊ฐน์ฑ ์๋๋ ์ ํ ์ ์์(ex - ์ฑ๊ธํค ํจํด ๊ตฌํ ์์๋ ํ์ฉ)
- ๋คํ์ฑ์ ์์น์ ์ ๊ทน ํ์ฉ ๊ฐ๋ฅํ์ฌ ๊ฐ์ฒด ์ธ์คํด์ค๋ฅผ ์ํฉ์ ๋ง๋๋ก ์ ์ฐํ๊ฒ ํ์ฉ ๊ฐ๋ฅํ๋ค.
- ๊ฐ์ฒด ์์ฑ ์์ฒด๋ฅผ ์ฌ์ฉ์๊ฐ ๋ชจ๋ฅด๊ฒ ์บก์ํ ํ ์ ์๋ค.
๋น๋ ํจํด
๊ฐ์ฒด์ ์์ฑ ๊ณผ์ ์ ๋จ๊ณ๋ณ๋ก ๋ถ๋ฆฌํ์ฌ ๋์ผํ ์์ฑ ๊ณผ์ ์์ ์๋ก ๋ค๋ฅธ ํํ ๊ฒฐ๊ณผ๋ฅผ ๋ง๋ค์ด ๋ผ ์ ์๊ฒ ํ๋ ์์ฑ ํจํด ์
๋๋ค.
์ฅ์
- ์ ์ฐ์ฑ๊ณผ ๊ฐ๋
์ฑ์ด ์ฌ๋ผ๊ฐ๋๋ค.
: ๋งค๊ฐ๋ณ์ ๋ณ๋ก, ์ด๋ค ํญ๋ชฉ์ ์ธ์๋ก ๋ค์ด๊ฐ๋์ง ํ์ธ์ด ๊ฐ๋ฅํฉ๋๋ค. - ๋ถ๋ณ ๊ฐ์ฒด๋ฅผ ์ฝ๊ฒ ๋ง๋ค ์ ์์ต๋๋ค.
: ๋ถ๋ณ ๊ฐ์ฒด๋ ๋ชจ๋ ๊ฐ์ ์์ฑ์์์ ํ ๋ฒ์ ์ค์ ํด์ผ ํ๋ค๋ ์กฐ๊ฑด์ด ์กด์ฌํ๋๋ฐ, ๋ฉค๋ฒ ๋ถ๋ณ ๋ณ์๊ฐ ๋ง์์๋ก ์์ฑ์๋ฅผ ํ์ฉํ ๋ถ๋ณ ๊ฐ์ฒด ์์ฑ์ ๋์ด๋๊ฐ ์ฌ๋ผ๊ฐ์ต๋๋ค. ๋ฐ๋ฉด, ๋น๋ ํจํด์ ์กฐ๋ฆฝ ๊ณผ์ ์ ์์ฑ์์ ๋ถ๋ฆฌํ ์ ์๊ธฐ ๋๋ฌธ์, ์กฐ๋ฆฝ ๊ณผ์ ์ ๋ํ ๊ฐ๋ฐ์์ ๋ณด์กฐ๊ฐ ๊ฐ๋ฅํฉ๋๋ค. (๋น์ฐํ ๊ฐ์ ๋ฏธ๋ฆฌ ๋ฃ๊ธฐ, ํ์์๋ ์ ํ์ ๋งค๊ฐ๋ณ์ ์ ์ธ ๋ฑ) - ๊ณ์ธต์ ์ผ๋ก ์ค๊ณ๋ ํด๋์ค์ ๊ฒฝ์ฐ, ๊ณ์ธต๋ณ ๋น๋๋ฅผ ๋ง๋ค์ด์, ๊ฐ ๊ณ์ธต ๋ง๋ค์ ํ์ ์์ ์ฑ์ ์ฌ๋ฆด ์ ์์ต๋๋ค.
2. ์์ธ ์ค๋ช ๐
- ์์
3. ๊ผฌ๋ฆฌ ์ง๋ฌธ ๐ก
(1) ์ ์ ํฉํ ๋ฆฌ ๋งค์๋ ํจํด์ ์ฌ์ฉํด๋ณธ ๊ฒฝํ์ด ์๋์?
์๋ค๊ณ ๋ตํ์ง๋ง, of
๋ฅผ ํ์ฉํด ๊ฐ์ฒด๋ฅผ ์์ฑํ ๊ฒฝํ์ด ์์์ต๋๋ค.of
๋ฅผ ์ฌ์ฉํ ๊ฐ์ฒด ์์ฑ ์์ฒด๊ฐ ์ ์ ํฉํ ๋ฆฌ ๋งค์๋ ํจํด์ ์ฐจ์ฉํ๊ณ ์๋ ๊ฒ์ด๋ผ, ์ด๊ฒ์ ๋ตํ์ด์ผ ํ์ต๋๋ค.
(2) ๋น๋ ํจํด์ ์ธ๋ถ ์ข ๋ฅ์๋ ๋ฌด์์ด ์๋์?
๋ต์ ํ์ง ๋ชปํด์ ๊ณต๋ถ๊ฐ ํ์ํฉ๋๋ค.