1.1. λ¬Έμ ¶
- μ¬κΈ°μ λνμ΄ κ·Έλ €μ§λ€ ν¨μ λ¨μν λν μ΄λ¦μ μΆλ ₯νλ κ²μ΄λ€.
- μΌκ°ν, μ¬κ°ν, μ, κ·Έλ¦¬κ³ μ΄κ²μ μ‘°ν©μΌλ‘ μ΄λ£¨μ΄μ§ λν(λ λ€λ₯Έ μ‘°ν©μΌλ‘ μ΄λ£¨μ΄μ§ λνλ ν¬ν¨ κ°λ₯) μ΄ μλ€. μ΄ λνλ€μ Pallete μ λ£κ³ Draw νλ©΄ Pallete μμ μλ λͺ¨λ λνμ΄ κ·Έλ €μ§λ€.
1.2. Class ¶
- * Draw ꡬνμ λ¨μν νμ¬ λνμ΄λ¦μ μΆλ ₯νλ©΄ λλ€. λν μ‘°ν©μ μ‘°ν©μ μ΄λ£¨λ λͺ¨λ λν μ΄λ¦μ μΆλ ₯νλ€.
1.2.1. Shape ¶
- μνΌ ν΄λμ€
- μλ 4κ°μ§λ₯Ό μλΈ ν΄λμ€λ‘ κ°μ§λ€.
- Draw, Add, Remove ν¨μλ₯Ό virtual ν¨μλ‘ κ°μ§λ€.
1.2.2. Palette ¶
- map μ¬μ©
- κΈ°λ³Έμ μΌλ‘ Triangle, Square λ₯Ό κ°μ§κ³ μλ€.
- registerNewShape - μλ‘μ΄ λνμ λ±λ‘νλ€.
- Draw - λ±λ‘λ λͺ¨λ λνμ κ·Έλ¦°λ€.
1.2.3. ν΄λμ€ μ¬μ© μ ¶
~cpp
Triangle aTriangle;
Rectangle aRectangle;
ComposedShape aComposedShape2;
aComposedShape2.Add(&aTriangle);
aComposedShape2.Add(&aRectangle);
Circle aCircle;
Rectangle aRectangle2;
ComposedShape aComposedShape;
aComposedShape.Add(&aComposedShape2);
aComposedShape.Add(&aCircle);
aComposedShape.Add(&aRectangle2);
Pallete aPallete;
aPallete.registerNewShape(aComposedShape);
aPallete.Draw();










