Java Technology

[Java]クラスメソッド(Staticメソッド)とインスタンスメソッドの違い

2020-12-28

インスタンスメソッドと、Staticメソッドの違いについて整理。

  • インスタンスメソッド : インスタンスが持つメソッドで、インスタンスが実行する
  • クラスメソッド (staticメソッド):クラスが持つメソッドで、クラスが実行する


クラスメソッド (Staticメソッド)とは

staticがついているメソッドをクラスメソッド、またはstaticメソッドという。

下記のように定義する。

//example 1
public static void main(String[] args){
        
}

//example 2
static void example(){
  
}


呼び出すときは、「クラス名. メソッド();」で呼び出す。

クラス名.メソッド();


インスタンスメソッドとの違いは?

staticメソッドは、インスタンスのようにnewをしなくても呼び出せる。

また呼び出すときは、上記でもあったように「クラス名. メソッド();」という形で呼び出す。



使ったコード

public class Main{
    public static void main(String[] args){
        Mountain.introduce();
    }
}

class Mountain{
    public static void introduce(){
        System.out.println("私は利尻岳にいきたい");
    }
}

//実行結果
私は利尻岳にいきたい


public class Main{
    public static void main(String[] args){
        Mountain mountain1 = new Mountain();
        mountain1.name = "那須岳";
        mountain1.introduce();
    }
}

class Mountain{
    public String name;
    public void introduce(){
        System.out.println("私は" + name + "に行きたい");
     }   
}

//実行結果
私は那須岳にいきたい

-Java, Technology