OOP 기반 언어에서 객체를 비교할 경우가 많다. 그럴 때 객체의 필드 값을 전부 비교하거나 operator 함수와 hashCode 함수를 override 하여 비교한다. 하지만 개발하다 보면 클래스의 수가 많아지기 때문에 클래스마다 함수를 override 하는 일은 생산성을 떨어트리기 때문에 이를 자동화해주는 유용한 플러그인을 사용하자.
※ Hash Code란?
- 객체를 식별할 수 있는 고유한 정수값이다.
Operator 함수 재정의하는 경우
- equal(==) operator 함수를 override 한다.
- hashCode 함수를 override 한다.
Equatable 플러그인을 사용하는 경우
- Equatable 클래스를 상속받아 props 함수를 override한다.
- props 의 return 하는 리스트 element의 값은 클래스의 필드를 지정한다.
https://pub.dev/packages/equatable
equatable | Dart Package
A Dart package that helps to implement value based equality without needing to explicitly override == and hashCode.
pub.dev
'Flutter' 카테고리의 다른 글
flex_color_scheme (Theme 간편 설정) (0) | 2023.05.16 |
---|---|
Device_Preview (디바이스 별 레이아웃 체크하기) (0) | 2023.05.15 |
Google Map style 변경하기(기본 마커, 라벨, 길 없애기) (0) | 2023.05.02 |
Font(폰트) 변경 (0) | 2023.04.28 |
Flutter - ToggleButtons (0) | 2023.04.28 |