본문 바로가기

Flutter

플러터 with extend 차이

728x90
반응형
SMALL

"with"는 플러터에서 mixin(믹스인)을 사용할 때 주로 사용되는 키워드입니다.

 

mixin은 다른 클래스에 기능을 추가하기 위해 사용되는 방법 중 하나로, 코드 재사용과 확장성을 높이는 데 도움이 됩니다. "with" 키워드를 사용하여 클래스에 mixin을 추가하면 해당 클래스는 mixin이 가지고 있는 속성과 메서드를 상속받을 수 있습니다.

 

예를 들어, 다음과 같은 mixin이 있다고 가정해봅시다.

mixin Flyable {
  void fly() {
    print("날고 있어요!");
  }
}

 

이제 mixin을 사용하여 클래스를 정의할 수 있습니다.

class Bird with Flyable {
  // Bird 클래스는 Flyable mixin의 기능을 상속받습니다.
}

void main() {
  Bird bird = Bird();
  bird.fly(); // 출력: "날고 있어요!"
}

 

반면에 "extend"는 클래스 간의 상속을 정의하는 데 사용되는 키워드입니다. 한 클래스가 다른 클래스를 상속하면, 상위 클래스의 속성과 메서드를 하위 클래스가 상속받아 사용할 수 있습니다. 이를 통해 코드 재사용과 계층 구조를 구성하는 데 도움이 됩니다.

예를 들어, 다음과 같이 클래스를 정의하고 상속할 수 있습니다.

 

class Animal {
  void eat() {
    print("먹고 있어요!");
  }
}

class Dog extends Animal {
  // Dog 클래스는 Animal 클래스를 상속받습니다.
}

void main() {
  Dog dog = Dog();
  dog.eat(); // 출력: "먹고 있어요!"
}

결론적으로, "with" mixin 사용하여 클래스에 기능을 추가하는 사용되고, "extend" 클래스 간의 상속을 정의하는 사용됩니다. 각각의 키워드는 다른 방식으로 클래스의 기능을 확장하고 활용할 있게 해줍니다.

728x90
반응형
LIST