[flutter] 플러터에서의 Equatable을 이용한 객체 할당 방법

플러터(Flutter)에서 객체 할당과 비교를 쉽게 처리하기 위해 Equatable 패키지를 사용할 수 있습니다. Equatable은 객체의 속성을 비교하여 두 객체가 동등한지 여부를 판단하는 데 사용됩니다. 이 포스트에서는 Equatable을 사용하여 플러터에서 객체 할당을 하는 방법에 대해 알아보겠습니다.

Equatable 패키지 추가

먼저, 프로젝트의 pubspec.yaml 파일에 Equatable 패키지를 추가합니다.

dependencies:
  equatable: ^1.2.6

이후, 터미널에서 아래 명령어를 실행하여 패키지를 설치합니다.

flutter pub get

Equatable을 이용한 객체 할당

Equatable을 사용하여 객체 할당을 하려면, 해당 클래스가 Equatable 클래스를 확장해야 합니다. 또한, props 메서드를 구현하여 객체의 속성을 정의해야 합니다. 이렇게 하면 Equatable이 객체를 비교할 때 해당 속성을 사용하게 됩니다.

아래는 Equatable을 이용한 Sample 클래스의 예시입니다.

import 'package:equatable/equatable.dart';

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

  Sample(this.name, this.age);

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

객체 할당 및 비교

Equatable을 이용하여 객체를 할당하고 비교하기 위해서는 다음과 같이 코드를 작성할 수 있습니다.

void main() {
  final sample1 = Sample('John', 25);
  final sample2 = Sample('John', 25);
  final sample3 = Sample('Jane', 30);

  print(sample1 == sample2);  // true
  print(sample1 == sample3);  // false
}

sample1sample2를 비교하면 true가 출력되고, sample1sample3를 비교하면 false가 출력됩니다. 이는 Equatable을 이용하여 객체의 속성을 비교하여 동등성을 판단하기 때문입니다.

Equatable을 이용하면 객체 간의 비교가 더욱 간편해지며, 속성이 추가되거나 변경되더라도 객체 할당 및 비교에 대한 로직을 수정할 필요가 없습니다.

이렇게 Equatable을 사용하여 객체를 할당하는 방법을 알아보았습니다. Equatable을 통해 객체 비교에 손쉽게 접근할 수 있으므로, 플러터 애플리케이션 개발 시 유용하게 활용할 수 있습니다.

참고 자료