20. “프로그램언어 다트(Dart)에서의 다형성”

다트(Dart) 프로그래밍 언어란?

다트(Dart)는 Google이 개발한 언어로, 서버와 브라우저 양쪽에서 실행 가능하며 모바일 앱 개발 플랫폼인 Flutter의 주요 언어입니다. 기존의 JavaScript와 같은 동적 타입 언어의 단점을 보완하고, 유연성과 성능을 모두 만족시키기 위해 만들어졌습니다.

다형성(Polymorphism)이란?

다형성이란 한 객체가 여러 타입으로 표현될 수 있는 성질을 의미합니다. 다형성을 이용하면 다양한 객체를 한 개의 객체처럼 취급할 수 있어 코드를 보다 효율적으로 작성할 수 있습니다.

다트에서의 다형성

다트에서 다형성은 인터페이스와 클래스를 이용해 구현할 수 있습니다. 동일한 인터페이스를 따르는 다양한 클래스를 생성하면, 그 클래스의 객체는 모두 동일한 인터페이스를 갖게 되어 다형성을 실현할 수 있습니다.

다트 다형성 예제


abstract class Animal {
  void eat();
}

class Cat implements Animal {
  void eat() {
    print('Cat is eating...');
  }
}

class Dog implements Animal {
  void eat() {
    print('Dog is eating...');
  }
}

void main() {
  Animal myAnimal = Cat();
  myAnimal.eat(); // output: Cat is eating...
  myAnimal = Dog();
  myAnimal.eat(); // output: Dog is eating...
}

예제 코드 분석

이 코드에서 ‘Animal’이라는 추상 클래스를 선언하고, ‘Cat’과 ‘Dog’이라는 클래스가 이를 구현(implements)합니다. 각 클래스는 공통된 ‘eat’ 메서드를 가지지만, 사용되는 객체에 따라 출력되는 메시지가 다르게 나옵니다. 그래서 Cat 객체와 Dog 객체 모두 Animal의 인스턴스로 여겨질 수 있습니다. 이렇게 하나의 메서드가 서로 다른 클래스에서 다른 동작을 수행하게 하는 것이 다형성의 목적입니다.

Leave a Comment