본격μ μΈ GOFμ λμμΈ ν¨ν΄μ λΆμνκΈ° μ μ, GOFμ λμμΈ ν¨ν΄μμ μ¬μ©νλ ν΄λμ€ λ€μ΄μ΄κ·Έλ¨λλ₯Ό λ³΄λ €λ©΄UMLμ μμμΌ ν©λλ€. ν΄λμ€ κ΅¬μ‘°μ ν΄λμ€κ°μ κ΄κ³μ λν΄μλ§ μμλ GOFμ λμμΈ ν¨ν΄μ μ΄ν΄νλλ°μλ λ¬΄λ¦¬κ° μλ€κ³ λ΄ λλ€.
ν΄λμ€μ λν λ°μ΄ν°(λ©€λ²λ³μ)μ νλμμ(λ©€λ² λ©μλ)μ μ μνλ€.
3λΆλΆμΌλ‘ λλμ΄μ§λ©° κ°κ° ν΄λμ€λͺ
,λ°μ΄ν°,νλμμμ μ μνλ€.
[ λ°μ΄ν° νμ ]
-(Private): μΈλΆμ λ ΈμΆμ΄ λμ§ μλ νμ μ
+(Public): μΈλΆμ λ ΈμΆμ΄ λλ νμ μ
#(Protected): ν΄λμ€λ μμλ ν΄λμ€μμ μ κ·Όκ°λ₯ν νμ μ
ν΄λμ€κ°μ κ΄κ³λ μ΄ 4κ°μ§λ‘ λΆλ₯ν μκ° μλ€.
β Generalization(μΌλ°ν κ΄κ³) : μΌλ°μ μΈ κ²(λλ¬Ό)μμ νΉνλ κ²(μ¬μ)κ³Όμ κ΄κ³λ₯Ό λνλΈλ€. λ³΄ν΅ μμμ νννλ€.
β‘Realization(μ€μ²΄ν κ΄κ³) : μΈν°νμ΄μ€μ κ·Έκ²μ ꡬνν κ²κ³Όμ κ΄κ³λ₯Ό λνλΈλ€.
β’Association(μ°κ΄ κ΄κ³) : ν κ°μ²΄κ° λ€λ₯Έκ°μ²΄λ₯Ό μμ νκ±°λ νλΌλ―Έν°λ‘ κ°μ²΄λ₯Ό λ°μμ μ²λ¦¬νλ κ΄κ³λ₯Ό λνλΈλ€.
β£Dependency(μμ‘΄κ΄κ³) : ν κ°μ²΄κ° λ€λ₯Έκ°μ²΄λ₯Ό μμ νμ§λ μμ§λ§, λ€λ₯Έκ°μ²΄μ λ³κ²½μ λ°λΌμ κ°μ΄ λ³κ²½μ ν΄μ£Όμ΄μΌ νλ€.
μμμ νννλ€. ( Aλ Bλ€. is a)
νΉμν κ²μμ μΌλ°νλ₯Ό νννλ€. ( νΉμνλ κ²μμ μΌλ°μ μΈ λ΄μ©λ€μ μ΄λμ΄ λ΄μ μμ ν΄λμ€<μΌλ°ν>κ° λλ€. )
Unitμ΄λΌλ μμ ν΄λμ€μμ 곡ν΅μ μΌλ‘ λ§λ¦°μ΄λ λ©λμμ μ¬μ©νλ Nameμ΄λ Health λ©€λ²λ³μλ₯Ό μΆμμ μΌλ‘ μ μΈνκ³ MoveλΌλ λ©μλλ₯Ό μ μΈμ ν©λλ€. Unitν΄λμ€λ₯Ό μμλ°λ λ§λ¦°μ΄λ λ©λμμλ κ°μμ νΉμν μ€ν¬μ΄λ μ‘μ μ λ°λΌμ λ€λ₯Έ λ©€λ²λ³μλ λ©μλλ₯Ό μΆκ°νμ¬ κ΅¬νμ νκ±°λ, μμλ°μ μΆμ λ©μλλ₯Ό μ€λ²λΌμ΄λν΄μ
ꡬννλ©΄ λ©λλ€.
μΈν°νμ΄μ€λ₯Ό ꡬννλ κ΄κ³λ₯Ό νννλ€. ( Aλ Bμ²λΌ νλνλ€. behaves like )
μμμ κ°λ
κ³Ό λΉμ·νμ§λ§ μμκ³Ό λ€λ₯Έμ μ,
Buildingμ΄λΌλ κ²μμ Barraks,Factory,Bunkerκ° μμλμ΄μ λ©€λ² λ³μμΈ Healthμ Ammorμ λ°μ΄ν°μ Contruct(건물μ§κΈ°), UnderAttack(곡격λ°κΈ°) κΈ°λ₯μ΄ λΆμ¬κ° λ©λλ€. μ¬κΈ°μμ ν λ건물μ νΉμκΈ°λ₯μΈ κ±΄λ¬Όμ μ곡μΌλ‘ λμμ
μ΄λνκ³ λ€μ λ μΌλ‘ μ°©μ§νλ κΈ°λ₯μμΆκ°νλ €κ³ νμλ, Buildingμ μμ ν΄λμ€μ λ©μλλ₯Ό μΆκ°νκ² λλ©΄ BunkerλΌλ 건물μ μ΄λμ΄ μλ λΆκ°λ₯νλ° κ·Έ κΈ°λ₯μ κ°κ² λμ λ¬Έμ κ° λ°μν©λλ€. ( λ¨μν Overideν΄μ μ무 κΈ°λ₯μ΄ μκ² ν΄λ λμ§λ§ μμλ°λ λͺ¨λ κ²μ κ·Έλ κ² μ²λ¦¬λ₯Ό νλκ²λ ν¨μ¨μ μ΄μ§ λͺ»νκ±° κ°μ΅λλ€. ) μ΄λ μΈν°νμ΄μ€λ₯Ό ꡬνν΄μ μ΄λμ΄ κ°λ₯ν 건물 μλ§ μΈν°νμ΄μ€λ₯Ό ꡬννκ² λλ©΄ λ©λλ€. μΈν°νμ΄μ€λ₯Ό ꡬννλ κ³³μμλ Move,Land,Fly λ©μλλ₯Ό λ°λμ ꡬνν΄μΌ ν©λλ€.
ν κ°μ²΄κ° λ€λ₯Έκ°μ²΄λ₯Ό μμ (μ¬μ©)νκ±°λ, μ°Έμ‘°νμ¬ μ¬μ©ν λ
λ¨λ°©ν₯κ³Ό μλ°©ν₯μ΄ μ‘΄μ¬νλ€.
μ°κ΄κ΄κ³λ λμμ΄ λλ κ°μ²΄μ Life Cycleμ λ€λΌμ λκ°μ§λ‘ λΆλ₯κ° λλ€.
Aggregation (μ§ν©) :
λ©μΈ ν΄λμ€κ° μμ λ μ λμ ν΄λμ€λ κ°μ΄ μμ κ° μλ¨ (λΌμ΄ν μ¬μ΄ν΄μ΄ λ€λ¦)
λΆλ¦¬κ° λλ λ
립μ μΌλ‘ λμλ¨
μ½ν κ²°ν©
Composition(ν©μ±) :
λ©μΈ ν΄λμ€κ° μμ λ μ λμ ν΄λμ€λ κ°μ΄ μμ κ° λ¨( λΌμ΄ν μ¬μ΄ν΄μ΄ λμΌ)
λΆλ¦¬κ° λλ©΄ μλ―Έκ° μμ΄μ§
κ°νκ²°ν©
[μ-Association]
λ§λ¦°μ μ΄μ΄λΌλ ν΄λμ€λ₯Ό λ©€λ² λ³μλ‘ κ°μ§κ³ μμ΅λλ€. 5.56mm Gunμ΄λΌλ ν΄λμ€λ marineμ΄ μλ€λ μ¬μ€λ λͺ¨λ¦ λλ€.
[μ-Aggregation]
ν©ν 리λ μ λμ¨μ΄λΌλ κ²μ 건μ€ν΄μ, κΈ°μ‘΄μ ν©ν 리μμλ μμ°νμ§ λͺ»νλ μμ¦ν±ν¬λ₯Ό μμ°ν μκ° μμ΅λλ€. μ λμ¨μ ν©ν λ¦¬κ° μμΉλ₯Ό μ΄λνμ¬λ νκ΄΄λμ§ μκ³ , λ€λ₯Έ ν©ν λ¦¬κ° μ°κ²°μ΄ λλ©΄ λ λμμ μ μμ μΌλ‘ νκ² λ©λλ€. λ€λ₯Έμλ‘, μ»΄ν¨ν°μλ λͺ¨λν°μ λ§μ°μ€μ ν€λ³΄λκ° μλλ° μ΄κ²λ€λ κ°μ μλ―Έλ‘ ν΄μμ΄ λ©λλ€.
[μ-Composition]
μ½€ν¬μ§μ μ μ€νν¬λννΈμμ μ μ©λλ μ λμ΄ μμ΄μ λκ°νλλ°μ(--;) κ°μ₯ μ μ¬νκ² μΊλ¦¬μ΄ μ λλ€. μ€μ μ€νν¬λννΈμμλ μΊλ¦¬μ΄κ° μμ±μ΄ λμ΄μ μΈν°μ ν°λΌλ μ λμ λ€μ μμ±νμ§λ§, μ¬κΈ°μλ μ μ 쑰건μ μΊλ¦¬μ΄κ° μμ±μ΄ λλ λμμ μΈν°μ ν°κ° μμ±μ΄ λλ€κ³ μκ°νκ² μ΅λλ€. μΊλ¦¬μ΄κ° μ£½μΌλ©΄ μμ μλ μΈν°μ ν°λ κ°μ΄ μ£½κ²λλ λΌμ΄ν μ¬μ΄ν΄μ 곡μ νκ² λμ£ . μ΄κ²μ΄ λ°λ‘ μ½€ν¬μ§μ λͺ¨λΈμ λλ€.
μμ‘΄κ΄κ³λ ν κ°μ²΄κ° λ€λ₯Έκ°μ²΄λ₯Ό μμ νμ§λ μμ§λ§, λ€λ₯Έκ°μ²΄μ λ³κ²½μ λ°λΌμ κ°μ΄ λ³κ²½μ ν΄μ£Όμ΄μΌ ν λ μ¬μ©ν©λλ€. μΌλ°μ μΌλ‘ μλμ μν©μΌλ μ¬μ©νκ² λ©λλ€.
1.λ€λ₯Έ κ°μ²΄λ₯Ό νλΌλ―Έν°λ‘ λ°μμ κ·Έ λ©μλλ₯Ό μ¬μ©νλ€.
2.κ°μ²΄μ λ©μλ μμμ λ€λ₯Έ κ°μ²΄λ₯Ό μμ±ν΄μ 리ν΄νλ€.
λ°°λμ€μμλ λ§λ¦°μ΄λ λ©λλ±μ μμ°μ ν μκ° μμ΅λλ€. λ°°λμ€λ λ§λ¦°μ΄λ λ©λμ μ¬μ©νμ§ μκ³ λ¨μνMakeMarineμ΄λΌλ λ©μλλ₯Ό ν΅ν΄μ λ§λ¦°μ newλ‘ μμ±ν΄μ 리ν΄ν λΏμ λλ€. μμμ λ§λ¦°μ ν΄λμ€μμ μμ±μμ λ³κ²½μ΄ μκΈ°λ©΄ λ°°λμ€μμλ μμ±νλ ꡬ문μ μμ μ΄ λμ΄μΌ ν©λλ€.
μ΄λ² μκ°μ μ¬κΈ° κΉμ§ μ
λλ€.
곡λΆνλ©΄μ μ¬κΈ°μ κΈ° μ°Ύμμ νλ€λ³΄λ μκ°μ΄ μμ²λκ² κ±Έλ¦¬λ€μ.(γ
.γ
)
κ·Έλλ λ¨Έλ¦Ώμμ μλ²½ν κΈ°μ΅μ΄ λλ€μ γ
γ
μ¬λ¬λΆλ νμ΄ν
!