What is an immutable object?
An immutable object is one that we can't change once it's created. Steps involved in creation of an immutable object are:
Make all of its data fields private.
Methods that can perform changes in any of the data fields after construction of object should be avoided.