
: κ°μ²΄ μ§ν₯μ νλ‘κ·Έλλ° ν¨λ¬λ€μ μ€ νλλ‘, νλ‘κ·Έλ¨μ κ°μ²΄λ€μ μ§ν©μΌλ‘ λ³΄κ³ μ΄λ€μ΄ μνΈμμ©νλλ‘ μ€κ³νλ λ°©λ²
-> Java, C++, Python λ± λλ€μμ νλ νλ‘κ·Έλλ° μΈμ΄κ° κ°μ²΄ μ§ν₯μ μ§μν¨

λ¨μΌ μ±
μ μμΉ: κ°μ²΄λ ν΄λμ€κ° λ¨ νλμ μ±
μλ§(νλμ κΈ°λ₯)μ κ°μ ΈμΌ ν¨
-> κ³ κ° μ 보λ₯Ό κ΄λ¦¬νλ Customer ν΄λμ€μ λ³΄κ³ μλ₯Ό μμ±νλ Report ν΄λμ€κ° κ°κ° νλμ μ±
μλ§ κ°μ§
κ°λ°©-νμ μμΉ: νμ₯(κΈ°λ₯ μΆκ°)μ λν΄μλ μ΄λ € μμ΄μΌ νκ³ , λ³κ²½μ λν΄μλ λ«ν μμ΄μΌ ν¨
-> Shape ν΄λμ€λ μΆμ ν΄λμ€μ΄λ©°, Circleκ³Ό Rectangleμ΄λΌλ μμ ν΄λμ€κ° κ°κ° Shapeμ draw() λ©μλλ₯Ό μ€λ²λΌμ΄λ ν¨λ¦¬μ€μ½ν μΉν μμΉ: μμ λ°λ ν΄λμ€λ λΆλͺ¨ ν΄λμ€κ° ν μ μλ κ²μ λͺ¨λ ν μ μμ΄μΌ ν¨
-> Duckμ Birdμ fly() λ©μλλ₯Ό κ·Έλλ‘ μ¬μ©νμ§λ§, Ostrichλ walk() λ©μλλ§ κ°μ§
μΈν°νμ΄μ€ λΆλ¦¬ μμΉ: ν΄λΌμ΄μΈνΈλ μμ μ΄ μ¬μ©νμ§ μλ μΈν°νμ΄μ€μ μμ‘΄νλ©΄ μλ¨
-> IPrintTasksμ IFaxTasksλΌλ λ κ°μ μΈν°νμ΄μ€κ° μμΌλ©°, Printer ν΄λμ€λ IPrintTasks μΈν°νμ΄μ€λ₯Ό MultiFunctionMachine ν΄λμ€λ λ μΈν°νμ΄μ€λ₯Ό λͺ¨λ ꡬνν¨
-> Manager ν΄λμ€κ° IWorker μΈν°νμ΄μ€μ μμ‘΄νλ©°, Worker ν΄λμ€λ IWorkerλ₯Ό ꡬνν¨