320x100
void main() {
print('---- Idol ----');
Idol apink = Idol(name: '에이핑크', membersCount:5);
apink.sayName();
apink.sayMembersCount();
print('---------BTS------');
BoyGroup bts = BoyGroup('BTS', 7);
bts.sayMembersCount();
bts.sayName();
bts.sayMale();
print('---------red velet--------');
GirlGroup redVelbet = GirlGroup('Red Velbet', 5);
redVelbet.sayMembersCount();
redVelbet.sayName();
redVelbet.sayFemale();
print('------------ Type Comparison -------------');
print(apink is Idol);
print(apink is BoyGroup);
print(apink is GirlGroup);
}
// 상속 - inheritance
// 상속을 받으면 부모 클래스의 모든 속성을 자식 클래스가 부여받는다.
class Idol {
String name;
int membersCount;
Idol({
required this.name,
required this.membersCount
});
void sayName(){
print('저는 ${this.name} 입니다.');
}
void sayMembersCount(){
print('${this.name}은 ${this.membersCount}명의 멤버가 있습니다.');
}
}
class BoyGroup extends Idol {
BoyGroup(
String name,
int membersCount
):
// 피상속자는 this 대신 super를 사용한다.
super(
name: name,
membersCount: membersCount
);
void sayMale(){
print('저는 남자 아이돌입니다.');
}
}
class GirlGroup extends Idol {
GirlGroup(
String name,
int membersCount
): super(name: name, membersCount: membersCount);
void sayFemale(){
print('저는 여자 아이돌 입니다.');
}
}
300x250
'개발일지 > 임시카테고리' 카테고리의 다른 글
dart - class static (다트 - 클래스 스태틱)4 (0) | 2025.03.24 |
---|---|
dart - class override (다트 - 클래스 오버라이드) 3 (0) | 2025.03.24 |
dart(다트) - class(클래스) 기본 1 (0) | 2025.03.24 |
python(파이썬) - 베스킨라빈스 31 당첨 게임 두번째 코드 (랜덤 컴퓨터 포함) (0) | 2025.03.21 |
python(파이썬) - 베스킨라빈스 31 게임 만들기 (0) | 2025.03.21 |