プログラミングにおけるオブジェクトとは、データとそのデータに対する操作をまとめたものです。オブジェクト指向プログラミング(OOP: Object-Oriented Programming)というパラダイムにおいて、オブジェクトは中心的な役割を果たします。
オブジェクトの特徴
状態(プロパティ)
オブジェクトはデータを持っています。このデータは「プロパティ」や「フィールド」とも呼ばれます。
振る舞い(メソッド)
オブジェクトは、そのデータに対して操作を行う関数を持っています。この関数は「メソッド」と呼ばれます。
識別子
オブジェクトは一意に識別できるように識別子(ID)を持つことがあります。
クラスとオブジェクト
オブジェクトは、クラスという設計図に基づいて作られます。クラスはオブジェクトのプロパティやメソッドを定義したものです。クラスから生成された具体的な実体がオブジェクトです。例えば、「犬」というクラスがあれば、「ポチ」という名前の犬オブジェクトが生成されるイメージです。
例
以下は、Pythonで定義されたシンプルなクラスとそのオブジェクトの例です。
class Dog:
def __init__(self, name, age):
self.name = name # プロパティ
self.age = age # プロパティ
def bark(self):
print(f"{self.name} says woof!") # メソッド
# クラスからオブジェクトを生成
my_dog = Dog("Pochi", 3)
# オブジェクトのプロパティにアクセス
print(my_dog.name) # 出力: Pochi
print(my_dog.age) # 出力: 3
# オブジェクトのメソッドを呼び出し
my_dog.bark() # 出力: Pochi says woof!
この例では、Dog
クラスが定義され、そのクラスからmy_dog
というオブジェクトが生成されています。my_dog
オブジェクトはname
とage
というプロパティを持ち、bark
というメソッドを実行できます。
オブジェクト指向プログラミングは、コードの再利用性や拡張性を高めるための強力な手法であり、多くのプログラミング言語でサポートされています。