イミュータブル
イミュータブル () なオブジェクトとは、作成後にその状態を変えることのできないオブジェクトのことである。対義語はミュータブル () なオブジェクトで、作成後も状態を変えることができる。

あるオブジェクト全体がイミュータブルなこともあるし、C++でcodice_1データメンバを使う場合など、一部の属性のみがイミュータブルなこともある。場合によっては、内部で使われている属性が変化しても、外部からオブジェクトの状態が変化していないように見えるならば、オブジェクトをイミュータブルとみなすことがある。例えば、コストの高い計算の結果をキャッシュするためにメモ化を利用していても、そのオブジェクトは依然イミュータブルとみなせる。イミュータブルなオブジェクトの初期状態は大抵は生成時に設定されるが、オブジェクトが実際に使用されるまで遅らせることもある。

イミュータブルなオブジェクトを使うと、複製や比較のための操作を省けるため、コードが単純になり、また性能の改善にもつながる。しかしオブジェクトが変更可能なデータを多く持つ場合には、イミュータブル化は不適切となることが多い。このため、多くのプログラミング言語ではイミュータブルかミュータブルか選択できるようにしている。
Q216601
オブジェクト
Concept
Q2407
C++
MEDIA
Q165596
キャッシュ
Concept
Q1376168
メモ化
Concept
Q9143
プログラミング言語
Concept
Q23828
イミュータブル
Concept
Q23828
イミュータブル
Concept
Q23828
イミュータブル
Concept
Q23828
イミュータブル
Concept
Q23828
イミュータブル
Concept
Q23828
イミュータブル
Concept
Q23828
イミュータブル
Concept
Q23828
イミュータブル
Concept
Q23828
イミュータブル
Concept
2020-01-01T00:00:00Z^^http://www.w3.org/2001/XMLSchema#dateTime
1
DATE
+1^^http://www.w3.org/2001/XMLSchema#decimal
1
NUMBER
subclass of
instance of
subclass of
subclass of
subclass of
subclass of
subclass of
subclass of
subclass of
subclass of