객체지향의 4대 특성 중 하나로서, 다른 객체의 필드와 메소드를 그대로 물려받는 것이다
class SubClass extends SuperClass{
// extends 키워드를 사용하면 된다
}
class Hero {
String name;
int hp;
Hero({required this.name, required this.hp});
void attack() {}
}
class SuperHero extends Hero {
int age;
SuperHero({required super.name, required super.hp, required this.age})
void fly() {}
}
부모클래스(슈퍼클래스)의 메소드를 자식클래스(서브클래스)에서 재정의하는 것이다.
class Hero {
String name;
int hp;
Hero({required this.name, required this.hp});
void run() {}
}
class SuperHero extends Hero {
int age;
SuperHero({required super.name, required super.hp, required this.age})
void run() {
print('$name이 퇴각했다');
}
}
Unified Modeling Language의 약자로, 객체지향 소프트웨어를 개발할 때 시스템과 산출물을 명세화, 시각화, 문서화할 때 사용하는 언어이다
클래스 내부 구성요소 및 클래스 간의 관계를 도식화하여 시스템의 특정 모듈이나 일부 및 전체를 구조화한다
https://velog.io/@sysy123/객체-지향-프로그래밍-상속-Inheritance