오늘은 Dart언어의 상속에 대해서 알아봅시다

오늘도 밈을 찾아봤는데 왜 이미지 찾는게 더 어려운거지? 바로 재탕
상속은 클래스 간에 코드를 재사용하고 확장하기 위한 중요한 개념입니다.
클래스 간의 계층 구조를 만들어주며 한 클래스가 다른 클래스의 특성과 동작을 상속받을 수 있습니다. 이를 통해 기본 클래스의 멤버(필드와 메서드)를 하위 클래스에서 재사용할 수 있으며, 필요에 따라 하위 클래스에서 추가적인 멤버를 정의하여 기능을 확장할 수 있습니다.
void main(){
}
class Color{
String name;
String group;
Color(String name,String group):this.name = name,this.group = group;
void checkColor1(){
print("이 ${this.group}은 ${this.name}입니다.");
}
}
먼저 생성자와 함수를 가지는 클래스를 하나 생성했습니다
class SubColor extends Color {
int brightness;
SubColor(String name, String group, this.brightness)
: super(name, group);
void checkColor2() {
print("이 ${this.group}은 ${this.name}입니다.");
print("밝기: $brightness");
}
}
새로 만든 SubColor 클래스는 Color 클래스를 상속 받고 있습니다
extends 의 좌측에는 자식 클래스명, 우측에는 부모 클래스명을 작성하여 상속 형태를 만든다
super(name, group) 은 상속받은 부모클래스를 지칭하는 것이며 생성 당시 받는 매개변수를 부모 클래스인 Color의 name, group에 할당한다는 의미
void main(){
SubColor sub = new SubColor("빨강","색",10);
sub.checkColor1();
print("ㅡㅡㅡㅡㅡㅡㅡ");
sub.checkColor2();
}
실행 결과
이 색은 빨강입니다.
ㅡㅡㅡㅡㅡㅡㅡ
이 색은 빨강입니다.
밝기: 10
부모클래스를 상속받아 정의된 자식클래스는 반드시 생성자를 통해서 부모 클래스의 정보를 할당하고 부모의 함수를 그대로 받아서 사용할 수 있다 그러나 부모클래스가 자식클래스의 변수나 함수를 사용할 수는 없다. 또 하나의 부모 클래스는 여러개의 자식을 가질 수 있으나 자식 클래스는 하나의 부모 클래스만 가질 수 있다.
Dart를 공부하면 할수록 Java랑 되게 유사하네... 처음 하는 이자식에게 왜 익숙한 향기가....?
이 글을 통해 많은 것을 배웠습니다.