= 変数
* ローカル変数
* 以下のスコープ内でのみ有効な変数。
* メソッド
* ''引数つきブロック''の引数
* 例外ハンドラへ渡された例外オブジェクト
* スコープを抜けると消失します。
* ''型制約を持つことが可能です。''
* ローカル変数には、識別子として有効であれば自由に名前をつけることが可能です。
* 明示的な定義がなくても使用可能です(最初の参照時に自動定義される)
* インスタンス変数
* 特定オブジェクトのインスタンスに所属する変数。
* ''アクセス制約、型制約を持つことが可能です。''
* class宣言内で明示的な定義が必要です。
* インスタンス変数には、識別子として有効であれば自由に名前をつけることが可能です。
* オブジェクト変数.@インスタンス変数名、として参照できます。
* クラス変数
* 特定オブジェクトの型に所属する変数。
* ''アクセス制約、型制約を持つことが可能です。''
* class宣言内で明示的な定義が必要です。
* クラス変数には、識別子として有効であれば自由に名前をつけることが可能です。
* クラス型名.@@クラス変数名、として参照できます。
* ''制約条件''
* ローカル変数には型制約、変化制約、インスタンス変数及びクラス変数には、型制約、変化制約、アクセス権限制約を付加することが可能です。
* 型制約は、変数の型を制限するための制約です。
たとえば、ある変数の型を整数(Integer)に固定したり、class C1、及びサブクラスに制限したりすることが可能となります。
* 変化制約は、変数への再代入を禁止する制約です。
* アクセス権限制約は、read(読み取り)、write(書き込み)それぞれに対し、public, protected, private を指定します。