본문 바로가기
자기계발/IT

[Flutter/플러터] 다트(Dart) 언어 상속 알아보기

by KTC 2023. 2. 21.

목차

    반응형

    안녕하세요!

    다트 언어의 상속에 대해 알아보겠습니다.

     

    상속

    • 상속을 주는 쪽을 슈퍼클래스 또는 부모클래스
    • 상속을 받는 쪽은 서브클래스 또는 자식클래스
    • 프로그래밍에서 상속은 슈퍼클래스를 그대로 복사한 후 기능 추가나 변경을 첨가
    • run() 메서드를 가진 Hero 클래스를 SuperHero 클래스가 extends 키워드를 사용하여 상속받아 새로운 기능을 추가한 예
    • 상속을 받으면 원래 있던 기능을 그대로 물려받는데, 만약 새로 정의하고 싶다면 @override 어노테이션을 이용해 오버라이드 하여 재정의
    • Hero 클래스는 name 프로퍼티와 run() 메서드를 가짐
    • SuperHero 클래스는 영웅의 모든 기능을 가지고 있으며 달리다가 날아가도록 run() 메서드를 오버라이드
    • 상속은 포함 관계를 만듦
    • SuperHero는 Hero에 포함되는 관계
    class Hero {
      String name = '영웅';
    
      void run () {}
    }
    
    class SuperHero extends Hero {  //Hero를 상속
      //부모의 run() 메서드를 다시 정의(오버라이드)
      @override
      void run(){
        super.run();  //부모의 run을 실행
        this.fly(); //추가로 fly()도 실행
      }
    
      void fly(){}
    }
    
    void main() {
      var hero = SuperHero();
      hero.run(); //OK
      hero.fly(); //OK
    
      print(hero.name);
    }

     

    반응형