μ€λ μ΄μκ°μλ μ€νν¬λννΈμ κ΄λ ¨λ λ΄μ©κ³Ό λ€νμ±μ λν΄μ λ°°μΈμ μλ μκ°μ κ°μ‘μ΅λλ€.
λ©λμ΄ μλλ°© μΉλ£κ° κ°λ₯νμ§λ§ μκ°μΉλ£λ μλΌκ³ λ μΉλ£κ° λλκ² μκ³ μκ³ β¦μ΄λ κ²λ μΉλ£ν μ μκ³ μ λ κ²λ μΉλ£κ° κ°λ₯νλ€λκ² λ€νμ±μ΄λΌλ€μ.?? γ γ μ΄λ ΅λ€μ..
μ΄λ€ κ²μ μ΄λ κ² λ³Όμλ μκ³ μ λ κ² λ³Όμλ μλκ²μΌλ‘ λ€νμ±μ ν΄λμ€ κ°μ μμκ³Ό κ΄λ ¨μ΄ μμ΅λλ€. λΆλͺ¨ν΄λμ€λ μμν΄λμ€μκ² μΌλΆ κΈ°λ₯μ μμνλ©΄μ μμν΄λμ€λ κΈ°λ₯μ νμ₯ν μ μλκ±°μ£ .
class Factory {
void produce() {
print('곡μ₯μμ μμ°νλ€.');
}
}
class Kia extends Factory {
@override
void produce() {
print('κΈ°μμ°¨λ₯Ό μμ°νλ€.');
}
}
class Bmw extends Factory {
@override
void produce() {
print('Bmwμ°¨λ₯Ό μμ°νλ€.');
}
}
void main() {
Factory factory = Factory();
Factory kia = Kia();
Factory bmw = Bmw();
Factory ν΄λμ€λ Kia, Bmw ν΄λμ€μ λΆλͺ¨ ν΄λμ€μ λλ€. Kia, Bmw ν΄λμ€λ Factory ν΄λμ€λ₯Ό μμλ°κ³ μμΌλ©° produce() λ©μλλ₯Ό μ€λ²λΌμ΄λ ν΄μ μ¬μ μ νκ³ μμ΅λλ€. μ΄λ₯Ό ν΅ν΄μ μ¬μ¬μ©κ³Ό μ½λμ μ μ°μ±μ λμΌμ μκ² μ΅λλ€.
λ€νμ±μ μ₯μ μΌλ‘λ μ μ°μ±, μ¬μ¬μ©μ±, νμ₯μ±μ΄ μ©μ΄ν κ²μΌλ‘ 보μ λλ€.
κ·Έλμ λ¨μ μ μ±gptμκ² λ¬Όμ΄λ΄€μ΅λλ€.
λ€νμ±μ λ¨μ μΌλ‘λ 볡μ‘μ±: κ°μ²΄μ μ€μ νμ μ λ°λΌ λμμ΄ λ¬λΌμ§μ μκ³ , μ½λμ μ΄ν΄μ λλ²κΉ μ΄ μ΄λ €μΈμ μμ΅λλ€. λν λ€νμ±μ λ°νμμ λ©μλ νΈμΆμ΄ κ²°μ λμ λμ λμ€ν¨μΉμ μ€λ²ν€λκ° λ°μνλ€κ³ ν©λλ€.
μ¬κΈ°μ μ κΉ! λμ λμ€ν¨μΉ κ²μμν΄λ³΄λβ¦ νλ‘κ·Έλ¨ μ€ν μμ μ λ§€μλ νΈμΆλ‘ κ²°μ λλκ²μ μλ―Ένλλ° λΆλͺ¨ν΄λμ€μ μ°Έμ‘° λ³μλ₯Ό ν΅ν΄ μμν΄λμ€μ λ©μλλ₯Ό νΈμΆνλ° μ¬μ©λλ€κ³ ν©λλ€.
κ·ΈλΌ μ μ λμ€ν¨μΉλ 무μμΈκ°?? μ»΄νμΌ μμ μ λ§€μλ νΈμΆμ΄ κ²°μ λμ΄ μ±λ₯μ΄ μ°μνμ§λ§ λμ λμ€ν¨μΉμ λ€νμ± μ₯μ κ³Ό μ μ°μ±μ μΆ©λΆν μμν΄μ£Όκ³ μ μ§λ³΄μκ° κ°λ₯νκ³ νμ₯ κ°λ₯ν μ½λλ₯Ό μμ±ν μ μλ€κ³ ν©λλ€.
abstract class Factory {
void makeProduce();
}
// ꡬ체 ν΄λμ€
class Kia extends Factory {
void makeProduce() {
print("쑰립νλ€!");
}
}
κ·Έλ¦¬κ³ λ€νμ±μμ μΆμμ μΈ μ μΈ = new μμΈ μ μλΌλ λ§μ 곡μ₯μ μμ°ν μ μμ§λ§ μ΄λ€ 곡μ₯μΈμ§ μμκ° μκ³ μ΄λ μΆμν΄λμ€λ 곡μ₯μ΄κ³ makeProduceλΌλ μΆμλ©μλλ₯Ό κ°μ§κ³ μλ€λ©΄β¦.
κΈ°μλ 곡μ₯μ μμλ°λ ν΄λμ€μ΄κ³ β¦ makeProduce λ©μλλ₯Ό ꡬννλ€.. 곡λΆλ₯Ό νλ©΄μ μκ°ν΄λ³΄λ©΄ λ€νμ±μ΄λΌλκ² μ λ§ μ¬μ¬μ©μ±μ΄ λκ² κ΅¬λ μΆλ€μ. μΈν°νμ΄μ€μ λ£κ³ μλ‘ λμΌν νμ λΌλ¦¬ λ¬Άκ³ κ΄λ¦¬νκ³ β¦ κ³΅λΆκ° λ§μ΄ νμν΄λ³΄μ λλ€.
λμΌλ‘β¦
Dart곡λΆνλ©΄μ μ¬λ¬λ² λ¬Έλ²μ 리 μμ λ° κ³΅λΆλ₯Όν΄λ.. μ€μ€μ μ μλμ μ°μ΅λ¬Έμ λ₯Ό 보면 μ¨μ΄ ν±β¦ μ΄λ ΅μ΅λλ€β¦κ·Όλ° μ΄μνκ² μ‘°κΈμ© νλ€λ³΄λ©΄ λκ° μ¬λ°μ΅λλ€. μ¬μ€ μ΄λ²μ£ΌκΉμ§ κ³Όμ μ μΆμ΄κ³ λ€μμ£Όλ κΈ°λ§μνμ΄λΌμ λ©ν°κ° λμ§ μλκ² λ¨μ μ΄μ§λ§.. μ€μ€μ μ μλ κ°μλ₯Ό λ£κ³ ν΄κ²°νμ§ λͺ»ν λΆλΆμ΄ μ΄ν΄κ°λλ€λ©΄ μ½κ° μ΄μνκ² λκ° λμ¬μ€λ₯΄λλ°.. κΈ°λΆμ΄ μ’κ³ β¦μ κ° μ‘°κΈ λ―Έμ³κ°κ³ μλκ² κ°λ€μβ¦ γ
γ