Immutable Object
An object whose externally observable state cannot change after construction, simplifying reasoning, sharing, and concurrent use.
Software Engineering Context
An immutable object cannot change its observable state after construction. Immutability simplifies reasoning, safe sharing, and many concurrency designs, but repeatedly copying large structures can create allocation pressure and may motivate persistent data structures or controlled mutable buffers.
Design Boundary
An immutable reference does not imply that every object reachable through it is immutable. The mutability contract must cover the relevant object graph.
Related Software Engineering Concepts
- Race Condition
- Scoped Value
- Copy-on-Write
- Concurrency