Junior — Middle
What are the advantages and disadvantages of immutable objects in programming?
sobes.tech AI
Answer from AI
Immutable objects are objects whose state cannot be changed after creation.
Advantages:
- Thread safety without additional synchronization.
- Simplifies debugging and testing, as the state does not change.
- Easier to use in caches and collections.
Disadvantages:
- To modify data, a new object must be created, which can lead to additional memory and time costs.
- Not always convenient for objects with frequently changing state.
Example in Java:
public final class Person {
private final String name;
private final int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() { return name; }
public int getAge() { return age; }
}
Here, after creating a Person object, it is not possible to change the name or age.