Composite Pattern์ ๊ฐ์ฒด๋ค์ ํธ๋ฆฌ ๊ตฌ์กฐ๋ก ๊ตฌ์ฑํ ๋ค์, ์ด๋ฌํ ๊ตฌ์กฐ๋ฅผ ๊ฐ๋ณ ๊ฐ์ฒด์ธ ๊ฒ์ฒ๋ผ ์ฌ์ฉํ ์ ์๋ ๊ตฌ์กฐ ์ค๊ณ ๋์์ธ ํจํด์ด๋ค.
OOP๋ฅผ ๋ OOP์ค๋ฝ๊ฒ ๋ง๋ค์ด ์ฃผ๋ ๊ธฐ์
๐ฏ ๋ชฉํ ์๋ฐ์ Annotation, I/O, Generic, Lambda์ ๋ํด ํ์ตํ๊ธฐ.
๋คํธ์ํฌ ์ ๋์ด๋ ์ ๋ฐฉํฅ ๊ทธ๋ํ์ ์ฉ๋์ด ์กด์ฌํ๋ ๊ฒ์ด๋ค. ์ ๋์ ์์ ์ ์ ์ Source, ๋ ์ ์ ์ Sink๋ผ๊ณ ํ๋ค. ์ด ๋, Source์์ Sink๋ก ํ๋ ค๋ณด๋ผ ์ ์๋ ์ต๋ ์ ๋(flow)์ ๊ตฌํ๋ ๋ฌธ์ ๋ฅผ ๋คํธ์ํฌ ์ ๋ ๋ฌธ์ ๋ผ๊ณ ํ๋ค.
๐ฏ ๋ชฉํ ์๋ฐ์ ๋ฉํฐ์ฐ๋ ๋ ํ๋ก๊ทธ๋๋ฐ, Enum์ ๋ํด ํ์ตํ๊ธฐ.
๐ฏ ๋ชฉํ ์๋ฐ์ ์์, ์์ธ์ฒ๋ฆฌ, ํจํค์ง์ ๋ํด ํ์ตํ๊ธฐ.
์๋ Hint์ ๋ํ ๋ชจ๋ ๋ด์ฉ๋ค์ MySQL์ ๊ธฐ์ค์ผ๋ก ์์ฑ๋์์.
์ ธ ์ ๋ ฌ์ ์ฝ์ ์ ๋ ฌ์ ๋จ์ ์ ๋ณด์ํ๊ธฐ ์ํด์ ์ฝ์ ์ ๋ ฌ์ ์ด์ฉํ์ฌ ๋ฐฐ์ด ๋ท๋ถ๋ถ์ ์์ ์ซ์๋ค์ ์๋ถ๋ถ์ผ๋ก ๋น ๋ฅด๊ฒ ์ด๋์ํค๊ณ , ๋์์ ์๋ถ๋ถ์ ํฐ ์ซ์๋ค์ ๋ท๋ถ๋ถ์ผ๋ก ์ด๋์ํค๊ณ , ๊ทธ๋ฆฌ๊ณ ๊ฐ์ฅ ๋ง์ง๋ง์๋ ์ฝ์ ์ ๋ ฌ์ ์ํํ๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ค.
์ดํญ ๊ณ์๋ (A + B)^n ๋ผ๋ ๋คํญ์์ ์ ๊ฐํ์ ๋, A^r*B^(n-r) (0 <= r <= n์ธ ์ ์)์ ๊ณ์๋ฅผ ์๋ฏธํ๋ค. A^r*B^(n-r)์ ๊ณ์๋ ์ด n๊ฐ์ ๋ฌธ์๋ฅผ ์์์์ด ๋ฐฐ์ดํ๋ ๊ฒฝ์ฐ์ ์์ ๊ฐ์ผ๋ฉฐ, ์ด๋ ์กฐํฉ๊ณผ ๊ฐ๋ค.
๐ฏ ๋ชฉํ ์๋ฐ์ Class ์ Interface์ ๋ํด ํ์ตํ๊ธฐ.
๐ฏ ๋ชฉํ ์๋ฐ๊ฐ ์ ๊ณตํ๋ ๋ค์ํ ์ฐ์ฐ์์ ์ ์ด๋ฌธ์ ์ตํ๊ธฐ.
๐ฏ ๋ชฉํ ์๋ฐ์ Primitive ํ์ , ๋ณ์ ๊ทธ๋ฆฌ๊ณ ๋ฐฐ์ด์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ์ตํ๊ธฐ.