プログラミングの用語一覧へ
このページの目次

メソッドとは?

読み方:めそっど

最終更新:2026/08/18

3秒でわかる

特定のデータに結びついた関数。そのデータ自身を操作する手続きをまとめておく書き方で、オブジェクトの「できること」を表します。

もう少し詳しく

どういうものか

メソッドは、あるオブジェクトやクラスに属する関数です。呼び出すときは オブジェクト.メソッド名() という形になり、呼び出した相手そのものを操作対象として受け取ります。

"hello".upper()upper は文字列のメソッド、[3, 1, 2].sort()sortリスト型のメソッドです。どちらも「誰に対しての操作か」が呼び出し方の中に含まれています。

なぜ必要か

データとその扱い方を 1 か所にまとめられるからです。関数だけで書くと、口座の残高という値と、入金や出金という手続きが別々の場所に散ります。誰でも残高を直接書き換えられるので、手数料を引き忘れた更新が紛れ込みます。

メソッドとして持たせると、残高を変える経路が決まった手続きだけになり、その中で条件の確認や記録をまとめて行えます。

具体例

class Account: def __init__(self, owner, balance=0): self.owner = owner self.balance = balance def deposit(self, amount): if amount <= 0: raise ValueError("金額は正の数にする") self.balance += amount return self.balance acc = Account("tanaka") acc.deposit(1000) print(acc.balance) # 1000

self は呼び出したオブジェクト自身です。acc.deposit(1000) は内部的に Account.deposit(acc, 1000) と同じで、第 1 引数に呼び出し元が渡されます。JavaScriptthis、Java の暗黙の this も同じ役割です。

つまずきやすいところ

呼び出しの括弧を忘れる誤りが多いです。acc.deposit は関数そのものを指すだけで実行されません。エラーも出ずに何も起きないため、原因に気付きにくい部類です。

戻り値の有無も混同しやすい点です。Python のリストの sort() は自身を並べ替えて None を返すので、lst = lst.sort() と書くと中身が消えます。並べ替えた新しいリストが欲しいときは関数の sorted() を使います。破壊的か非破壊的かは、メソッドごとに調べる習慣が要ります。

似た用語との違い

説明
関数単独で呼べる処理のまとまり
メソッドオブジェクトに属する関数
属性オブジェクトが持つ値
コンストラクタ生成時に一度だけ呼ばれる特別なメソッド


覚え方

属性が名詞、メソッドが動詞です。

知識のつながり

サイドバーと同じ推奨ルート・関連語を、まとめて確認できます。

現在地メソッドプログラミング

LEARN BY DOING

この用語を、教材で使ってみる

直接関連する編と、その編を含むコースです。用語だけで終わらず、ブラウザ上で実際に手を動かせます。

この用語を扱うコース

コース

Python入門:基礎文法編

74レッスン
コース

Java入門:基礎文法編

69レッスン
コース

JavaScript入門:コードを動かす

23レッスン
Pythonコースの全編を見る