In object-oriented and functional programming, an immutable object is an object whose state cannot be modified after it is created. This is in contrast to a mutable object, which can be modified after it is created. In some cases, an object is considered immutable even if some internally used attributes change but the object's state appears to be unchanging from an external point of view. For example, an object that uses memoization to cache the results of expensive computations could still be considered an immutable object.
Immutable objects are often useful because they are inherently thread-safe. Other benefits are that they are simpler to understand and reason about and offer higher security than mutable objects.
Read more about Immutable Object: Background, Implementation, Copy-on-write, Usage
Famous quotes containing the words immutable and/or object:
“People generally will soon understand that writers should be judged, not according to rules and species, which are contrary to nature and art, but according to the immutable principles of the art of composition, and the special laws of their individual temperaments.”
—Victor Hugo (18021885)
“If the heart beguiles itself in its choice [of a wife], and imagination will give excellencies which are not the portion of flesh and blood:Mwhen the dream is over, and we awake in the morning, it matters little whether tis Rachael or Leah,be the object what it will, as it must be on the earthly side ... of perfection,it will fall short of the work of fancy, whose existence is in the clouds.”
—Laurence Sterne (17131768)