Interface
: class에서 꼭 선언해야하는 변수/함수 등을 정의할 때 interface 개념을 사용한다.
. 별도의 선언 방법은 없으며 class를 생성하듯 Interface class를 만들면 된다.
. Interface class를 implements 하는 것은 interface로 정의된 것을 무조건 정의해라의 의미이다.
. 비슷한 성격을 가진 class가 특정 변수 혹은 함수를 꼭 가져야하는 상황일 때 사용한다.
void main() {
BoyGroup bts = BoyGroup('bts');
bts.sayName();
GirlGroup redVelvet = GirlGroup('redVelvet');
redVelvet.sayName();
}
abstract class IdolInterface {
String? name;
void sayName(){}
}
class BoyGroup implements IdolInterface {
@override
String? name;
BoyGroup(String name);
@override
void sayName() {
print('제 이름은 $name입니다.');
}
}
class GirlGroup implements IdolInterface {
@override
String? name;
GirlGroup(String name);
@override
void sayName() {
print('제 이름은 $name입니다.');
}
}
void main() {
BoyGroup bts = BoyGroup('bts');
bts.sayName();
}
class IdolInterface {
String? name;
void sayName(){}
}
class Idol {
final String name;
Idol(this.name);
void sayName(){
print('제 이름은 $name입니다.');
}
}
class BoyGroup extends Idol {
BoyGroup(String name) : super(name);
@override
void sayName() {
print('제 이름은 $name입니다.');
}
}
출처:YOUTUBE-코드팩토리