[flutter] Equatable 클래스의 사용 예시

Equatable는 Dart와 Flutter 개발에서 유용하게 사용되는 라이브러리 중 하나입니다. Equatable를 사용하면 객체의 속성을 비교하는 메서드를 간편하게 생성할 수 있습니다. 이를 통해 코드의 가독성을 높일 수 있고, 디버깅 과정을 간소화할 수 있습니다.

Equatable 라이브러리 추가

먼저 pubspec.yaml 파일에 Equatable 라이브러리를 추가합니다.

dependencies:
  equatable: ^2.0.2

이제 pubspec.yaml 파일을 저장한 뒤, 터미널에서 flutter pub get 명령어를 실행하여 라이브러리를 프로젝트에 추가합니다.

Equatable를 활용한 클래스 선언

Equatable 라이브러리를 활용해 클래스를 선언하는 예시를 살펴보겠습니다.

import 'package:equatable/equatable.dart';

class User extends Equatable {
  final String name;
  final int age;

  const User({
    required this.name,
    required this.age,
  });

  @override
  List<Object?> get props => [name, age];
}

위의 코드에서 Equatable 클래스를 상속받은 User 클래스를 선언하였습니다. Equatable를 사용하기 위해선, Equatable 클래스를 상속받고, props 메서드를 오버라이딩하여 비교하고자 하는 속성을 목록으로 반환하면 됩니다.

Equatable를 활용한 클래스의 사용

Equatable를 활용하여 생성된 User 클래스를 사용하는 예시를 살펴보겠습니다.

void main() {
  final user1 = User(name: 'Alice', age: 25);
  final user2 = User(name: 'Bob', age: 30);

  print(user1 == user2); // false
  print(user1 == User(name: 'Alice', age: 25)); // true
}

User 클래스를 생성하고, 비교 연산을 통해 각 객체의 속성을 비교할 수 있습니다.

Equatable를 활용하면 객체의 속성을 비교하는 메서드를 간단히 생성할 수 있으므로, Flutter 앱의 개발과 유지보수를 보다 편리하게 할 수 있습니다.

위의 내용은 Flutter 개발에서 Equatable 클래스의 사용 예시에 대한 내용입니다.

자료 출처