メンバメソッドとインスタンスメソッドとは?プログラミング初心者向けの基本概念解説
プログラミングにおいて、オブジェクト指向という概念があります。オブジェクト指向とは、現実世界の物事をコンピュータ上に再現するための考え方です。オブジェクト指向では、物事を「オブジェクト」という単位で捉えます。
そして、オブジェクトに対して何らかの操作を行うためには、「メソッド」という機能を使用します。メソッドは、オブジェクトが持っている機能のことです。ただし、メソッドには2つの種類があります。「メンバメソッド」と「インスタンスメソッド」です。
メンバメソッド
メンバメソッドとは、クラスに属するメソッドのことです。つまり、オブジェクト自体が持っているメソッドではなく、クラスに属しているメソッドです。そのため、オブジェクトを生成せずに、クラスから直接呼び出すことができます。
たとえば、以下のようなコードがあったとします。
“`
class SampleClass:
@classmethod
def sample_method(cls, arg1, arg2):
print(arg1, arg2)
SampleClass.sample_method(“Hello”, “World”)
“`
この場合、`sample_method`はメンバメソッドであり、`SampleClass`から直接呼び出すことができます。
インスタンスメソッド
一方で、インスタンスメソッドは、オブジェクトが持っているメソッドのことです。つまり、オブジェクトを生成してから、そのオブジェクトに対してメソッドを呼び出すことができます。
たとえば、以下のようなコードがあったとします。
“`
class SampleClass:
def __init__(self, arg1, arg2):
self.arg1 = arg1
self.arg2 = arg2
def sample_method(self):
print(self.arg1, self.arg2)
sample_instance = SampleClass(“Hello”, “World”)
sample_instance.sample_method()
“`
この場合、`sample_method`はインスタンスメソッドであり、`sample_instance`というオブジェクトから呼び出すことができます。
まとめ
メンバメソッドとインスタンスメソッドは、オブジェクト指向のプログラミングにおいて重要な概念です。メンバメソッドはクラスに属するメソッドであり、インスタンスメソッドはオブジェクトが持つメソッドです。それぞれの使い分けを理解し、効率的なプログラミングを行いましょう。