メソッドとは、かんたんに言うと、プログラムの中で決まった処理を行うための命令をひとまとめにしたものです。
たとえば、「名前を表示する」「数値を計算する」「データを保存する」といった処理をメソッドとしてまとめます。この記事では、メソッドの意味や使い方、関数との違いを初心者向けに解説します。
関連するIT用語・ビジネス用語をまとめて確認したい方は、IT用語・ビジネス用語一覧もあわせてご覧ください。
メソッドとは
メソッドとは、プログラミングで使われる言葉です。特定のデータやプログラムの部品に結び付いた処理を表します。
英語の「method」には、「方法」「手順」「やり方」という意味があります。プログラミングでも、何かを行うための手順をまとめたものという点は同じです。
たとえば、利用者の情報を扱うプログラムには、次のようなメソッドを用意できます。
- 名前を表示するメソッド
- 住所を変更するメソッド
- 入力された内容を確認するメソッド
- データを保存するメソッド
長い処理を目的ごとに分けておくことで、プログラムの内容を理解しやすくなります。
メソッドを身近な例で考える
メソッドは、家電製品に付いているボタンにたとえられます。
たとえば、洗濯機には「洗う」「すすぐ」「脱水する」といったボタンがあります。利用者はボタンを押すだけで、決められた動作を実行できます。
プログラムのメソッドも同じような役割を持ちます。メソッド名を指定すると、その中にまとめられた処理が実行されます。
プログラムでは、メソッドを実行することを「メソッドを呼び出す」といいます。
メソッドはどのように使うのか
メソッドを使うときは、基本的に「どのデータに」「何をさせるのか」を指定します。
たとえば、利用者を表すデータに名前を表示させる場合は、次のような形になります。
user.showName()
この例では、「user」が操作するデータです。「showName」が名前を表示するメソッドを表します。
プログラミング言語によって書き方は異なりますが、「対象のデータ.メソッド名」という形で呼び出す方法がよく使われます。
メソッドを構成する4つの要素
メソッドは、主に次の4つの要素でできています。
| 要素 | 意味 |
|---|---|
| メソッド名 | どのような処理を行うのかを示す名前 |
| 引数 | 処理を行うために渡すデータ |
| 処理内容 | 実際に実行する命令 |
| 戻り値 | 処理を終えたあとに返す結果 |
引数は「ひきすう」と読みます。メソッドに渡す材料のようなものです。
戻り値は「もどりち」と読みます。計算結果や確認結果など、メソッドから返されるデータを表します。
引数を使う例
たとえば、二つの数字を足すメソッドには、計算する数字を引数として渡します。
calculator.add(3, 5)
この例では、「3」と「5」が引数です。メソッドが計算を行い、結果として「8」を返します。
戻り値がないメソッドもある
すべてのメソッドが結果を返すとは限りません。
画面に文字を表示するだけのメソッドや、データを保存するだけのメソッドもあります。その場合は、戻り値がなくても問題ありません。
メソッドと関数の違い
メソッドと関数は、どちらも複数の処理をひとまとめにしたものです。そのため、初心者には同じものに見えることがあります。
一般的な違いは、特定のデータやプログラムの部品に属しているかどうかです。
| 比べる点 | メソッド | 関数 |
|---|---|---|
| 基本的な意味 | 特定のデータや部品に結び付いた処理 | 独立して使える処理 |
| 呼び出し方の例 | user.showName() | showName(user) |
| 主な特徴 | 操作する対象が決まっている | 単独で呼び出せる |
たとえば、「文字を大文字に変える処理」が文字データに結び付いていれば、メソッドとして扱われます。独立した処理として用意されていれば、関数として扱われます。
ただし、メソッドと関数の呼び分けはプログラミング言語によって異なります。最初は「メソッドは特定のデータに結び付いた関数のようなもの」と考えると分かりやすいでしょう。
メソッドとクラスの違い
クラスとは、プログラムで扱うデータと処理をまとめた設計図です。メソッドは、その設計図に書かれた動作に当たります。
たとえば、「自動車」というクラスには、色や速度などのデータを持たせられます。さらに、「走る」「止まる」「曲がる」といったメソッドを持たせることができます。
| 言葉 | 役割 |
|---|---|
| クラス | データと処理をまとめた設計図 |
| オブジェクト | クラスを基に作られた具体的なデータ |
| メソッド | オブジェクトが行う動作や処理 |
クラスとメソッドは同じものではありません。クラスの中に、データとメソッドがまとめられていると考えるとよいでしょう。
メソッドの主な種類
メソッドには、主に「インスタンスメソッド」と「クラスメソッド」があります。
言葉は難しく見えますが、違いはどのデータに対して使うかです。
インスタンスメソッド
インスタンスメソッドは、クラスから作られた一つ一つのデータに対して使うメソッドです。
たとえば、複数の利用者が登録されている場合、それぞれの利用者の名前や住所を変更する処理に使います。
user1.changeName()
user2.changeName()
この例では、「user1」と「user2」という別々のデータに対してメソッドを呼び出しています。
クラスメソッド
クラスメソッドは、一つ一つのデータではなく、クラス全体に対して使うメソッドです。
たとえば、新しい利用者データを作成する処理や、登録されている利用者数を調べる処理などに使われます。
プログラミング言語によっては、クラスメソッドに近いものを「静的メソッド」または「staticメソッド」と呼ぶ場合があります。
メソッドが使われる場面
メソッドは、Webサイトやスマートフォンのアプリ、業務システムなど、さまざまなプログラムで使われています。
代表的な使用例は次のとおりです。
- 入力された文字を確認する
- 商品の金額を計算する
- 一覧の並び順を変える
- 画面にメッセージを表示する
- ファイルを保存する
- データを検索する
同じ処理を何度も使う場合は、メソッドとしてまとめておくと便利です。必要な場所から呼び出すだけで、同じ処理を実行できます。
メソッドを使うメリット
プログラムを読みやすくできる
処理の内容に合ったメソッド名を付けると、何をしているプログラムなのか分かりやすくなります。
たとえば、「checkInput」という名前からは、入力内容を確認する処理だと判断できます。
同じ処理を再利用できる
一度作成したメソッドは、必要な場所から何度でも呼び出せます。
同じ処理を何度も書く必要がなくなるため、プログラムを短く整理できます。
修正する場所を少なくできる
処理を一つのメソッドにまとめておけば、そのメソッドを直すだけで変更を反映できます。
同じ処理が複数の場所に分かれている場合と比べて、修正漏れも防ぎやすくなります。
初心者が間違えやすい点
メソッドはプログラミング言語ではない
メソッドは、JavaやPythonのようなプログラミング言語の名前ではありません。プログラムの処理をまとめる仕組みの名前です。
メソッドとクラスは同じものではない
クラスは設計図で、メソッドは設計図に含まれる動作です。
自動車にたとえると、自動車全体の設計図がクラスで、「走る」「止まる」などの動作がメソッドです。
メソッドには必ず戻り値があるとは限らない
計算結果を返すメソッドもあれば、文字を表示するだけのメソッドもあります。
戻り値がないからといって、メソッドではないということではありません。
プログラミング言語によって意味が少し異なる
メソッドと関数の扱い方は、プログラミング言語によって異なります。
学習するときは、使用する言語の説明も確認すると理解しやすくなります。
HTTPメソッドとの違い
IT分野には、プログラミングのメソッドとは別に「HTTPメソッド」という言葉があります。
HTTPメソッドとは、Webサイトの閲覧などで、Webサーバーにどのような処理を求めるかを示すものです。GETやPOSTなどの種類があります。
どちらも「処理方法」という点は共通していますが、使われる場面が異なります。通常の「メソッドとは」という説明では、プログラミング上のメソッドを指すことが多いでしょう。
メソッドについてよくある質問
メソッドを簡単に言うと何ですか?
メソッドとは、決まった処理をひとまとめにしたものです。
特定のデータやプログラムの部品に結び付けて使う点が特徴です。
メソッドと関数は同じですか?
どちらも処理をまとめたものですが、一般的には使われ方が異なります。
特定のデータや部品に属するものをメソッド、独立して使えるものを関数と呼びます。ただし、呼び分けはプログラミング言語によって異なります。
メソッドを呼び出すとはどういう意味ですか?
作成されているメソッドを指定し、その中の処理を実行することです。
家電製品のボタンを押して、決められた動作を始めるようなイメージです。
メソッドは何のために使うのですか?
プログラムを読みやすくし、同じ処理を何度も使えるようにするためです。
処理ごとに分けておくことで、あとから修正するときも内容を確認しやすくなります。
メソッドとは何かを理解してプログラムの仕組みを知ろう
メソッドとは、プログラムの中で決まった処理を行うための命令をひとまとめにしたものです。特定のデータやクラスに結び付けて使います。
関数とよく似ていますが、一般的には、特定のデータや部品に属しているものがメソッドです。メソッドを使うと、プログラムを読みやすくし、同じ処理を再利用できます。
まずは「メソッドは、プログラムの部品が持っている動作」と覚えると、意味をつかみやすいでしょう。
