[OSAM] DART 언어 기초(10) Class [#5] Interface, mixin

hello_hidi·2021년 7월 23일
0

[국소아] DART

목록 보기
10/16
post-thumbnail

> Interface

인터페이스 : 클래스를 정의할때 반드시 들어가야 하는 변수와 함수를 지정할 때 사용! => 강제성을 띄운다!

  • abstract class로 선언
  • implements 키워드 사용!
  • 그저 형태만 선언하면됨!
abstract class Food{
  String name;
  void sayName();
}

class Pizza implements Food{
  String name = "pizza";
  void sayName(){ //일종의 overiding
    print("이 음식은 피자입니다");
  }
}

> mixin

상속은 다형성이 성립될 때만 사용가능!
예를 들어서 Car - BMW는 상속이 가능하지만 Engine - BMW는 상속이 가능하지 않다!
이럴 때 사용할 수 있는 것이 mixin이다!

  • with 키워드를 사용! 자식 with 부모
class Engine{
  int power = 5000;
}

class BMW with Engine{ }

void main(){
  BMW bm = new BMW();
  print(bm.power);
}
profile
안뇽희디

0개의 댓글