inblog logo
|
gyul
    트러블 슈팅

    [트러블 슈팅] 18. super.name = name; 이 왜 오류가 날까

    귤's avatar
    귤
    May 29, 2025
    [트러블 슈팅] 18. super.name = name; 이 왜 오류가 날까
    Contents
    문제💡 해결 방법

    문제

    super.name = name; 에서 오류가 생긴다

    // 상속 class Burger { String name; Burger(this.name); } // is class ChickenBurger extends Burger { int price; ChickenBurger(int price, String name) this.price = price; super.name = name; } void main() { Burger b1 = ChickenBurger(1000, "치킨버거"); }
    notion image
    ⬇️
    // 상속 class Burger { String name; Burger(this.name); } // is class ChickenBurger extends Burger { int price; ChickenBurger(int price, String name) : super(name), this.price = price; } void main() { Burger b1 = ChickenBurger(1000, "치킨버거"); }
    이렇게 해도 안됨
    ⬇️

    💡 해결 방법

    플러터에서 추천하는 방법

    page icon
    • 값을 초기화 할 때는 그냥 집어 넣어본다
    // 플러터 추천 방법 class ChickenBurger3 extends Burger { int price; String color; ChickenBurger3(this.price, this.color, String name) : super(name); }
    notion image

    다른 해결 방법 1

    // 상속 class Burger { String name; Burger(this.name); } // is class ChickenBurger extends Burger { int price; ChickenBurger(this.price, String name) : super(name); } void main() { Burger b1 = ChickenBurger(1000, "치킨버거"); }
    notion image

    다른 해결 방법 2

    // 하나짜리는 이게 편함 class ChickenBurger2 extends Burger { ChickenBurger2(super.name); }
    notion image
    Share article

    gyul

    RSS·Powered by Inblog