State
Stateとは、オブジェクト指向プログラミングにおける23種類のデザインパターンの1つです。このデザインパターンはオブジェクトの振る舞いに関わるパターンです。
Stateパターンは、一言でまとめると、対象のオブジェクトの状態をクラスにしたパターンです。Stateは「状態」を意味する言葉です。状態の変化に応じて、オブジェクトの振舞いが変わる場合等に用います。例えば、ゲーム等でキャラクターが一時的に強くなった状態において、振る舞いが大幅に変わる等のイメージです。
Stateパターンで行っていること自体は、オブジェクト指向における基本であるクラスの継承を行っているだけですので、最も基本とも言えます。基本の親クラスとしてStateクラスを定義し、異なる状態である子クラスを複数定義し、それを状態の変化に応じて用いるイメージです。