【C#】関数とメソッドの違い

ネットの記事や技術書などを読んでいると関数と書かれていたり、メソッドと書かれていたりしますが、

厳密に言うと、関数とメソッドには違いがあります。

この記事では関数とメソッドの違いについて紹介していきます。

まずは関数とメソッドについて説明していきます。

目次

関数とは?

一連の処理をまとめたもの

同じ処理を何回も書くとめんどくさいので、関数にまとめておく。

引数に値を定義しておくと関数を呼び出すときに引数に値を入れると出力される。

メソッドとは?

クラス内の関数のこと。

振る舞い、サブルーチンプロシージャともいう。

では、関数とメソッドの違いは?

関数とメソッドについて簡単に説明したところで、ここからは2つの違いについて紹介します。

関数は単体で利用し、

メソッドは変数やインスタンスにつけるドット記法のように利用します。

【関数】コード例


Console.WriteLine()  // コード例 1
Debug.Log()           // コード例 2
Console.ReadLine()    // コード例 3



/* コード例 4 */
static int PlusCalculate(int x, int y)
{
    return x + y;
}

int result = PlusCalculate(1, 2);
Console.WriteLine("結果: " + result);

/* コード例 4 */

Console.WriteLine、Debug.Log、Console.ReadLine、PlusCalculateが関数です。

【メソッド】コード例

using UnityEngine;


 public class CardModel
 {
    public int hp;
    public int attack;
    public bool isAlive = true;

 void Damage(int dmg)
 {
    hp -= dmg;
    if(hp <= 0 )
    {
        hp = 0;
        isAlive=false;
    }
  }


  void RecoveryHP(int point)
   {
       hp += point;
   }


  
    public void Attack(CardController card)
    {
       /*★コード例1 Damegeがメソッド*/
        card.model.Damage(attack);
    }



    public void Heal(CardController card)
    {
    /*★コード例2 RecoveryHPがメソッド*/
        card.model.RecoveryHP(attack);
    }
}



public class CardController : MonoBehaviour
{
   public CardModel model;

}


Damage、RecoveryHPがメソッドです。

クラス内で定義されている関数をドット記法で呼び出しているため、メソッドとなります。

まとめ

いかがだったでしょうか。

本日は関数とメソッドの違いについて紹介しました。

しかし、実は言うとそこまで区別がされていなかったりします。

メソッドで統一して基本的には呼ぶことが多いですね。

頭の片隅にこういう違いがあるんだな~と置いておけばいいと思います。

ではでは!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

電気制御設計→ITエンジニア
前職は電気系のエンジニアで物流倉庫などの設備を動かしていました。
現在はITエンジニアとして開発に従事。
業務では主にUnity、C#、.NETを利用。
現在、UnityとC#を用いて業務用スマホアプリを開発中。

コメント

コメントする

目次