An immutable object cannot be changed after it's constructed — every field is set once, and there are no methods that mutate state. To "change" it, you create a new object.
Building an immutable type
java
{
cents;
String currency;
{
.cents = cents;
.currency = currency;
}
Money {
(.cents + other.cents, currency);
}
{ cents; }
}
