앱 개발 공부방

flutter - dart문법 상속 본문

FLUTTER

flutter - dart문법 상속

춘행이 2023. 11. 30. 14:04
728x90

상속은 어떤 클래스의 기능을 다른 클래스가 사용할 수 있게 하는 기법입니다.

기능을 물려주는 부모 클래스, 물려받는 클래스인 자식 클래스가 있습니다

class 자식 extends 부모 의 구조를 사용합니다

 

부모 클래스를 하나 생성해줍니다

class WorkOutClass {
  int? squart;
  int? bench;
  int? dead;

  WorkOutClass(this.squart,this.bench,this.dead);

  void printSquart(){
    print(squart!);
  }

  void printDead(){
    print(dead!);
  }
}

 

그다음 상속 받을 자식 클래스를 하나 생성해주는데 부모 클래스를 extend 해줍니다

class WorkOutMe extends WorkOutClass{
  WorkOutMe(int squart,int bench,int dead):super(squart,bench,dead);

  void testSquart(){
    print('test $squart');
  }
}

여기서 super가 쓰이는데 현재 클래스를 지칭하는 this와 달리 super는 부모 클래스를 지칭합니다

부모 클래스인 WorkOutClass에 기본 생성자가 있는 만큼 자식 클래스에서는 부모 클래스의 생성자를 실행해줘야 합니다

그렇지 않으면 부모 클래스의 모든 기능을 상속받아도 변숫값들을 설정하지 않아서 기능을 사용할수 없으니 super를 사용해 부모 클래스의 생성자를 실행해줍니다

 

void main(){
    WorkOutClass workOutClass = WorkOutClass(100, 80, 140);

    WorkOutMe workOutMe = WorkOutMe(200, 1500, 190);

    workOutClass.printDead();

    workOutMe.printDead();//workOutClass에 있는 함수를 상속 받아서 씀
}

생성자로 객체를 생성해주고 WorkOutMe 클래스에는 printDead 함수가 없지만 부모클래스인 WorkOutClass에서 상속받아서 사용 가능합니다

728x90

'FLUTTER' 카테고리의 다른 글

flutter - 오버라이드  (1) 2023.12.05
flutter - Null Safety  (0) 2023.12.05
flutter - dart문법 final const 차이  (0) 2023.11.30
Flutter 상태관리(provider)  (1) 2022.12.06
Flutter - firebase 이메일 로그인, 회원가입  (0) 2022.03.22
Comments