320x100
// interface
// 정의를 해놓으면, 정의를 해놓은대로 사용을 강제한다.
void main() {
BoyGroup bts = BoyGroup('BTS');
GirlGroup redVelbet = GirlGroup('redVelbet');
bts.sayName();
redVelbet.sayName();
}
// 여기에 더해서 abstract를 붙여주면, 부모클래스로 사용할 것은 인스턴스로
// 사용할 수 없다.
abstract class IdolInterFace{
String name;
IdolInterFace(this.name);
// 부모 클래스는 interface의 경우 "인스턴스"로 만들려는 의도가 없으면,
// 이렇게 공백으로 두어도 된다.
void sayName() {
}
}
// implements가 interface를 쓴다는 내용
// implements의 경우는 부모 클래스에서 선언된 것을 자식이 지정 해주지 않으면
// 에러 발생이다.
class BoyGroup implements IdolInterFace {
String name;
BoyGroup(this.name);
void sayName(){
print('제 이름은 $name 입니다.');
}
}
class GirlGroup implements IdolInterFace {
String name;
GirlGroup(this.name);
void sayName() {
print('제이름은 $name 입니다.');
}
}
300x250
'개발일지 > 임시카테고리' 카테고리의 다른 글
dart - 형변환 리스트-맵-셋 (List - Map - Set) (0) | 2025.03.24 |
---|---|
dart - class generic 다트 - 클래스 제네릭 6 (0) | 2025.03.24 |
dart - class static (다트 - 클래스 스태틱)4 (0) | 2025.03.24 |
dart - class override (다트 - 클래스 오버라이드) 3 (0) | 2025.03.24 |
dart(다트) - class(클래스) 상속 2 (0) | 2025.03.24 |