クラス変数とは クラス変数とはクラスで定義する変数である。クラス変数はクラスメソッド内とクラス定義内、またはそのサブクラスがアクセスでき共有される。 定義方法 class A # @@プレフィックスを使用 @@value = 1 def self.value; @@value; end end クラス変数と継承 クラスAが変数@@valueを定義する場合、そのすべてのサブクラスが@@valueを使える。これは継承のように見えるが、実際は違う。どこかのサブクラスがクラス変数@@valueに値を代入すると、クラス変数のプライベートコピーは作成されず、スーパークラスから見える値がすべて変更される。 class A @@value = 1 def self.value @@value end end A.value # 1 class B < A @@value = 2 end A.value #