μ§κΈκΉμ§ μ½λ©μ λ°°μμ€λ©΄μ λ€νμ±μ΄λ μ΄μΌκΈ°λ₯Ό λ¬Έλ²μμ λ§μ΄ λ΄μμ΅λλ€. μ΄λ²μλ λ€νμ±μ λ°°μ νλ² μ 리λ₯Ό ν΄λ³ΌκΉ ν©λλ€.
κ°μ²΄ μ§ν₯ νλ‘κ·Έλλ°μμ μ¬μ©λλ μ€μν κ°λ μΈ λ€νμ±(Polymorphism)μ λμΌν μΈν°νμ΄μ€λ μΆμ ν΄λμ€λ₯Ό ꡬννμ§λ§ νμ μ΄ λ€μν κ°μ²΄λ₯Ό λμΌνκ² λ€λ£° μ μκ² ν΄μ£Όλ λ₯λ ₯μ λλ€.
μ’ λ μ½κ² λ§νμλ©΄, μ‘°λ―Έλ£
λΌλ νλμ μΉ΄ν
κ³ λ¦¬κ° μμ΅λλ€. μ΄ μμλ λ§λ³΄κΈ°
λΌλ νλμ΄ μμ΅λλ€. κ·Έλ¦¬κ³ μ‘°λ―Έλ£
λ₯Ό μμλ°λ μ€ν
κ³Ό μκΈ
μ΄ μμ΅λλ€. μ‘°λ―Έλ£
λ₯Ό μμλ°μκΈ° λλ¬Έμ μ‘°λ―Έλ£μ μλ λ§λ³΄κΈ°
νλμ κ°κ° μ€ν
κ³Ό μκΈ
μμ νλμ νλ©΄ μλ‘ λ€λ₯Έ λ§μ΄ μΆλ ₯λ©λλ€. μ€ν
μμλ λ¨λ§
μ΄, μκΈ
μμλ μ§ λ§
μ΄ μΆλ ₯μ΄ λ©λλ€.
μμ μ€λͺ κ³Ό κ°μ΄ λ κ°μ§ λ€λ₯Έ νμ μ κ°μ²΄κ° λμΌνκ² μ¬μ©λλ λ₯λ ₯μ λ€νμ±μ΄λΌκ³ ν©λλ€.
λ€νμ±μ μ£Όλ‘ μμκ³Ό μΈν°νμ΄μ€λ₯Ό ν΅ν΄ ꡬνλλλ°, μ½λμ μ¬μ¬μ©μ±κ³Ό μ μ°μ±μ λμ¬μ€λλ€.
ν λ² μμ±ν μ½λλ₯Ό λ€μν νμ
μ κ°μ²΄μ μ μ©ν μ μμΌλ©°, μλ‘μ΄ νμ
μ΄ μΆκ°λλλΌλ κΈ°μ‘΄ μ½λλ₯Ό μμ νμ§ μκ³ λ μ¬μ©ν μ μμ΅λλ€. μ΄λ₯Ό ν΅ν΄ μ½λμ μ μ§λ³΄μμ±κ³Ό νμ₯μ±μ ν₯μμν΅λλ€.
μμμ΄λ 무μμΌκΉ? : Dart-Inheritance
μΈν°νμ΄μ€μ λν΄ μμ보μ : Interface
λμΆ© μ΄λ‘ μ μΈ κ²λ€μ μ΄ν΄νλλ°.. μ€νν¬λννΈ κ΅¬νμ΄ λ무 μ΄λ ΅λ€ νν..ππ
https://github.com/sinbee0402/Flutter/blob/SeSAC/terran.dart
https://github.com/sinbee0402/Flutter/blob/SeSAC/zerg.dart
https://github.com/sinbee0402/Flutter/blob/SeSAC/protoss.dart