[Dart] 인터페이스(Interface)

AsherKim·2023년 5월 25일
0

플러터 TIL

목록 보기
9/18

Dart에서 인터페이스(Interface)는 클래스가 구현해야 하는 메서드의 목록을 정의하는 역할을 한다.
인터페이스는 클래스 간의 계약(Contract)으로, 클래스가 특정 동작을 보장하기 위한 규약이다.

인터페이스는 abstract 키워드와 함께 class 키워드를 사용하여 정의된다. 클래스와 마찬가지로 멤버(메서드)를 가질 수 있지만, 멤버의 구현은 포함하지 않는다. 예를 들어, Interface라는 인터페이스를 정의할 수 있다.

예제코드 🌈

abstract interface class Interface {
  // 인터페이스의 메서드들
}

인터페이스를 구현하기 위해 클래스는 implements 키워드를 사용한다. 클래스가 인터페이스의 모든 메서드를 구현해야 한다. 인터페이스의 메서드들을 클래스에서 구현하기 위해서는 해당 메서드들을 클래스 내부에 정의해야 한다. 클래스는 여러 개의 인터페이스를 동시에 구현할 수 있다. 예를 들어, Class라는 클래스가 Interface를 구현하는 방법은 다음과 같다.

예제코드 🌈

class Class implements Interface {
  // 인터페이스의 메서드들을 구현
}

클래스가 인터페이스를 구현하면, 해당 클래스의 인스턴스는 인터페이스의 타입으로 사용될 수 있다. 이는 다형성(polymorphism)의 개념을 지원한다. 인터페이스를 사용하면 클래스의 특정 동작을 기대하고 코드를 작성할 수 있다. 예를 들어, Interface를 구현한 Class의 인스턴스를 사용하는 방법은 다음과 같다.

예제코드 🌈

void main() {
  Interface instance = Class();
  instance.someMethod(); // Interface의 메서드 호출
}

결론

인터페이스는 클래스 간의 계약을 형성하여 클래스들이 일관된 동작을 보장하도록 도와준다. 다른 클래스에서 인터페이스를 구현함으로써 클래스 간의 규약을 준수하고, 코드 재사용성과 유연성을 높일 수 있다. 인터페이스는 클래스가 가져야 하는 메서드들을 정의하므로, 코드의 일관성과 가독성을 개선하는 데 도움이 된다.

profile
추리를 좋아하는 개발자

0개의 댓글