목차
반응형
안녕하세요!
다트 언어의 상속에 대해 알아보겠습니다.
상속
- 상속을 주는 쪽을 슈퍼클래스 또는 부모클래스
- 상속을 받는 쪽은 서브클래스 또는 자식클래스
- 프로그래밍에서 상속은 슈퍼클래스를 그대로 복사한 후 기능 추가나 변경을 첨가
- 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);
}
반응형
'자기계발 > IT' 카테고리의 다른 글
[Flutter/플러터] 다트(Dart) 언어 믹스인(mixin) 알아보기 (10) | 2023.02.23 |
---|---|
[Flutter/플러터] 다트(Dart) 언어 추상 클래스 알아보기 (52) | 2023.02.21 |
[Flutter/플러터] 다트(Dart) 언어 생성자, 게터, 세터 알아보기 (24) | 2023.02.20 |
[Flutter/플러터] 다트(Dart) 언어 접근 지정자 알아보기 (11) | 2023.02.20 |
[Flutter/플러터] 다트(Dart) 언어 클래스 알아보기 (57) | 2023.02.18 |