Two Money values with the same amount and currency are equal. A constructor validates them, so an invalid value cannot exist.
Value object
An immutable object with no identity, compared by its values, such as money or an email address.
Two Money values with the same amount and currency are equal. A constructor validates them, so an invalid value cannot exist.