자바의 객체의 타입에는 Immutable 타입과 mutable타입이 있다.
(영문)
A mutable object can be changed after it's created, and an immutable object can't.
In Java, everything (except for strings) is mutable by default:
In Java, state of the immutable object can’t be modified after it is created but definitely reference other objects.
They are very useful in multithreading environment because multiple threads can’t change the state of the object so immutable objects are thread safe. Immutable objects are very helpful to avoid temporal coupling and always have failure atomicity.
On the other hand, Mutable objects have fields that can be changed, immutable objects have no fields that can be changed after the object is created.
Source: https://www.tutorialspoint.com/difference-between-mutable-and-immutable-object