Immutable Object

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:

    “The belief that there are final and immutable answers, and that the professional expert has them, is one that mothers and professionals tend to reinforce in each other. They both have a need to believe it. They both seem to agree, too, that if the professional’s prescription doesn’t work it is probably because of the mother’s inadequacy.”
    —Elaine Heffner (20th century)

    “America has always been a country of amateurs where the professional, that is to say, the man who claims authority as a member of an élite which knows the law in some field or other, is an object of distrust and resentment.”
    —W.H. (Wystan Hugh)