Javaを勉強しはじめて間もない方は、クラスとメソッドって一体何が違うのと疑問を感じている場合も多いのではないかと思います。
今回は、Javaのクラスとメソッドの違いを、分かりやすく解説していきます。
クラスとメソッドの違い
学校のクラスには、いろんな生徒がいて、いろんな授業がありますよね。
生徒たちは、そこでいろんなことを学んでいきます。
もっと専門的なことを習う「クラス」になると、そのクラス専門の技術を、生徒たちは身につけることができます。
さて、ここでRPGを考えてみましょう。
RPGには、いろんな登場人物がいます。
勇者、魔法使い、格闘家……などなどです。
きっと、勇者クラスや、魔法使いクラス、格闘家クラスがあって、そこでいろんな技を習うのでしょう。
その技が「メソッド」です。
つまりまとめると、専門的な技を覚えられるところが「クラス」、その専門的な技が「メソッド」です。
実際のJavaプログラムで、クラスとメソッドの違いを確認しよう
ここからは、もっと具体的なJavaプログラムの例で、クラスとメソッドの違いを見ていきます。
今回は、魔法使い(Magician)クラスを作ってみましょう。
public class Magician {
void heal() {
System.out.println("ヒールを使った");
}
void fire() {
System.out.println("ファイアを使った");
}
}
上のソースの全体が「クラス」です。
その中には、ふたつの「メソッド」があります。
つまり、このMagician
クラスでは、head
とfire
の技を覚えることができます。
では、このMagician
クラスを使ってみましょう。
public class Main {
public static void main(String[] args) {
Magician magician = new Magician();
magician.heal(); // 出力:ヒールを使った
magician.fire(); // 出力:ファイアを使った
}
}
3行目をご覧ください。
このようにすることで、ひとりの魔法使い(magician
)が、Magician
クラスで勉強したことになります。
(これをインスタンス化といいます)
これで、この魔法使い(magician
)は、Magician
クラスの技、つまりメソッドを使えるようになります。
その技を実際に使ったのが、4、5行目です。
まとめ
クラスは、専門的な技などを学ぶことができるところです。
この専門的な技を、メソッドといいます。
クラスで学ぶことで、技、つまりメソッドを使うことができるようになります。
また、このクラスで学ぶことを、インスタンス化といいます。