YD_S 개발로그
article thumbnail

 

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

 

profile

YD_S 개발로그

@YD_S

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!