【初心者向け】メソッドとは?関数との違いも解説

無料プログラミングスクール「アキバ・テックドリーム・アカデミー」(以下、テクドリ)の運営企業であるメディアファイブ株式会社に所属する現役エンジニア社員が、プログラミングにおいての「メソッド」とは何か、Javaのソースコードを例に出しながらプログラミング未経験者に向けて解説いたします!

メソッドとは

プログラミングにおけるメソッドとは、特定の処理を一つにまとめたプログラムの一部で、繰り返し利用できるコードのブロックです。

    使い方

    手順

    どんなプログラミング言語でも、メソッドは以下のような手順で使います。

    1. 名前をつける
    2. 仕事を決める
    3. 呼び出す
    名前を付ける

    メソッドには、その役割に応じた意味のある名前を付けることが重要です。例えば、「足し算」を行うメソッドであれば「add()」「引き算」を行うメソッドであれば「subtract()」といった名前をつけます。

    仕事・動作を決める

    メソッドは「2つの数字を足してその結果を返す」といったように、特定の動作を定義します。例えば、「add()」というメソッドがある場合、その動作は2つの引数(数字)を受け取り、その合計を返すことになります。

    呼び出す

    メソッドは単独では動作しません。定義しただけでは何も実行されず、プログラム内の任意の箇所で「呼び出し」を行うことによって、実際に処理を実行します。

    例えば、「足し算をする」メソッドを定義した場合、そのメソッドを使いたい場所で呼び出すことで、足し算の処理が実行され結果が得られます。

    サンプルコード(Java)

    以下のJavaのソースコードを元に、メソッドの使い方を解説します。

    public class Main {
    	// 足し算を行うメソッドの定義
    	public static int add(int a, int b) {
    		return a + b;
    	}
    
    	public static void main(String[] args) {
    		// メソッドの再利用
    		int result1 = add(5, 3);
    		int result2 = add(10, 7);
    		int result3 = add(20, 15);
    
    		// 結果を表示
    		System.out.println("5 + 3 = " + result1);
    		System.out.println("10 + 7 = " + result2);
    		System.out.println("20 + 15 = " + result3);
    	}
    }

    このコードでは、「add()」というメソッドを定義しています。このメソッドは、2つの整数を受け取り、その合計を計算して返す役割を果たします。

    mainメソッド内で、この「add()」メソッドを何度も呼び出して異なる数値の足し算を行い、その結果を表示しています。

    このように、メソッドを使うと同じコードを繰り返し書かなくて済むのでとても便利です。

    メソッドとクラスの違い

    メソッドとクラスの違いは、プログラミング初心者がよく混乱するポイントですが、簡単に説明します。

    クラスは全体の設計図を、メソッドはその設計図に基づいて動きを実現するための手順を担当しています。

    メソッドでは、実際の機能や動作、処理を行う部分です。クラスは、データやメソッドをまとめて、ひとつの大きな単位として管理します。

    飛行機に例えると、クラスは「飛行機の設計図」や「飛行機の設計書」のようなものです。設計図には飛行機がどんな部品で構成され、どんな機能を持っているかが書かれています。

    一方で、メソッドはその設計図をもとに、実際に飛行機を飛ばすための「操作手順」や「機能」を指します。例えば「エンジンをオンにする」「操縦桿を上げる」といった動作がメソッドにあたります。

    つまり、クラスは全体の構造を決める設計図であり、メソッドはその設計に基づいて実際に動作するための指示を出すものです。

    メソッドと関数の違い

    プログラミングを進めると「メソッド」と似たような意味で「関数」というものが出てきます。

    メソッドは、クラスの中で特定の動きをするための「手順書」です。オブジェクト指向プログラミングにおいて、クラス内でデータに対して操作を行います。また、主にオブジェクトに対して何らかの操作を実行します。

    例えば、先述したサンプルコードでは、addメソッドはMainクラス内で定義されています。aとbというオブジェクトを引数として受け取り、足し算の結果を返します。このように、メソッドはaとbというオブジェクトに対して足し算という操作を行います。

    関数は、クラスの外でも独立して定義でき、独立して呼び出すことができるものです。メソッドと違って、特定のクラスに属していません。

    サンプルコード(JavaScript)

    Javaには関数という概念は存在しませんが、JavaScriptでは関数を使用できます。

    そのため、ここではJavaScriptを用いて関数のサンプルコードを作成しました。

    // 足し算を行う関数の定義
    function add(a,b){
        console.log( a + b );
    }
    
    add(3,5);

    function add(a,b) と記載されたものが関数です。定義された後、add(3,5) という記述で呼び出されています。

    add メソッドは Main クラス内で呼び出されていましたが、add 関数はクラスなしで呼び出されている点が異なります。

    メソッドのメリット

    メソッドを使うメリットは以下の通りです。

    • 可読性の向上
    • 再利用性の向上
    • 保守性の向上

    可読性の向上

    メソッドを使うと、プログラムの動作が分かりやすくなります。例えば、「足し算をする」というメソッドがあれば、その名前を見るだけで処理の内容を理解できます。

    再利用性の向上

    一度作ったメソッドは、繰り返し使えます。例えば、同じ計算を何度も行う場合、毎回同じコードを書く必要がなくなります。

    保守性の向上

    メソッドに処理をまとめることで、将来変更が必要になった際に修正すべき箇所が明確になります。対象のメソッドだけを修正すれば済むため、管理がしやすくなります。

    メソッドのデメリット

    メソッドを使うデメリットは以下の通りです。

    • パフォーマンスの低下
    • コードの複雑化
    • オーバーフローのリスク

    これらのデメリットを理解し、メソッドを適切に設計・運用することが大切です。

    パフォーマンスの低下

    メソッドを呼び出す際には、コンピュータがいくつかの処理を行うため、短い処理を頻繁に呼び出すとプログラムの動作が遅くなることがあります。

    コードの複雑化

    メソッドが増えすぎると、プログラム全体の構造がわかりにくくなることがあります。特に、どのメソッドがどこで使われているかを把握するのが難しくなる場合があります。

    オーバーフローのリスク

    メソッドの呼び出しが多すぎると、メモリがいっぱいになり、プログラムがクラッシュする可能性があります。これを「オーバーフロー」と呼びます。

    まとめ

    メソッドについて解説しました。

    まずは無料説明会・体験セミナー

    テックドリームは無料のプログラミングスクールです。「プログラマってどういう仕事?」「自分にできるのかな?」という方も、まずは体験セミナーでプログラミングに触れてみませんか?テックドリームは未経験の方を丁寧にサポートする体制をご用意しています。不安なことや、入校までの疑問点なども気軽にご相談いただけます。

    Webかんたん予約

    専用の予約フォームより、およそ60秒で簡単にお申込みいただけます。

    電話でのご予約

    Webかんたん予約ができない場合や、ご質問がございましたら、お気軽にお電話ください。

    0120-262-242
    9:00~18:00(土日祝を除く)
    最新情報をチェックしよう!
    >テクド・リム

    テクド・リム


    「テクドリ」の公式キャラクター。
    エンジニアだった父の影響を受けて、夢に向かって日々勉強に励むエンジニアのタマゴ。
    夢は「世界を変える、すごいエンジニアになること!」

    彼女が通うプログラミングスクールについては「テクドリとは」ページにて紹介中!

    CTR IMG