インスタンス変数

インスタンス変数(Instance Variable)は、オブジェクト指向プログラミング(OOP)において、クラス内の各インスタンス(オブジェクト)ごとに異なる値を持つ変数です。インスタンス変数は、クラスの属性や状態を表すために使用され、各オブジェクトが独自の値を保持できます。

インスタンス変数は通常、クラス内のコンストラクタ(またはイニシャライザ)内で初期化されます。初期化の際に、各インスタンスに固有の値を指定できます。これにより、同じクラスから生成された異なるオブジェクトが異なる属性を持つことができます。

以下は、Pythonでインスタンス変数を使用する例です:

python
class Person: def __init__(self, name, age): # インスタンス変数の初期化 self.name = name self.age = age def introduce(self): return f"My name is {self.name}, and I am {self.age} years old." # Personクラスから2つのインスタンスを作成 person1 = Person("Alice", 30) person2 = Person("Bob", 25) # 各インスタンスのインスタンス変数にアクセス print(person1.name) # "Alice" print(person2.age) # 25 # 各インスタンスのメソッドを呼び出し print(person1.introduce()) # "My name is Alice, and I am 30 years old." print(person2.introduce()) # "My name is Bob, and I am 25 years old."

この例では、Person クラス内で nameage というインスタンス変数が初期化されています。それぞれのインスタンス(person1person2)は、異なる値を持ち、それにアクセスすることができます。

インスタンス変数は、オブジェクトごとに異なる状態を保持するために使用され、オブジェクト指向プログラミングのカプセル化(Encapsulation)の一部として重要な役割を果たします。