////////////////////////////////////////////////////////////////////////////////
//  << j221.java >>
//
//  クラス(2):変数(インスタンス変数、クラス変数、ローカル変数)
//
//  フィールドで定義される変数として、インスタンス変数、クラス変数がある。
//  メソッド内で定義される変数として、ローカル変数がある。
//
//  ●インスタンス変数
//
//   ・フィールド内で定義された変数をインスタンス変数という。
//  ・インスタンス変数は、オブジェクトが作成されたときに初めて存在し、
//   オブジェクトごとに異なるものとして扱われる。
//   すなわち、同じクラスから作成されたオブジェクトが複数存在するとき、
//   他のオブジェクトでの値の更新の影響は受けない。
//
//  ○インスタンス変数の宣言
//
//        型名 変数名
//
// ●クラス変数
//
//  ・フィールド内で、予約語staticをつけて定義された変数をクラス変数(static変数
//   ともいう)という。
//  ・そのクラスから作成されたオブジェクトで共有される。
//   すなわち、同じクラスから作成されたオブジェクトが複数存在するとき、
//   他のオブジェクトでの値の更新の影響を受ける。
//   ・クラス変数は、そのクラスから生成されたオブジェクトがひとつもないときでも
//     存在する。
// 
//  ○クラス変数の宣言
//
//        static 型名 変数名
//
//    オブジェクトが存在しないとき、クラス変数への参照は、
//
//      クラス名.変数名
//
//    で行う。
// 
// ●ローカル変数
//
//  ・インスタンス変数、クラス変数に対して、メソッド内で宣言した変数を
//   ローカル変数という。
//  ・ローカル変数は宣言したメソッド内のみで使え、メソッドが終了すると領域は
//   解放される。すなわち、メソッドが呼び出されるたびに初期化される。
//
// ●例
//
//    class クラス名 {
//      int a = 123; // インスタンス変数。
//      static String s = "abc"; // クラス変数。
//      public static void main(String args[]) {
//        int b = 0; // ローカル変数。
//        ・・・
//      }
//    }
//
////////////////////////////////////////////////////////////////////////////////