Javaのクラスとメソッドの違いとは?ゲーム風に解説。

公開 : → 更新 :

この頃小説を読んでいなく、何か読みたいなと思っている@It_is_Rです。

Javaを勉強し始めたばかりの人は、何やら難しい単語に混乱する人も多いでしょう。その中で、クラスとメソッドって一体何が違うのと疑問を感じている人もいるのではないかと思います。
そこで今回は、Javaのクラスとメソッドの違いを分かりやすく解説しようと思います。

最初から順番に読んでいただければ、クラスとメソッドについて、理解が深まるかと思います。

Javaのクラスとメソッドは、書き方は似ていますが、全く違う役割を果たすものです。

簡単に言えば、クラスはそれぞれの役割りなどを分別しておくもの。
メソッドは、何度も使いたい処理を何度でも呼び出せる様に記述しておくものです。

言葉で言っても、意味が分かりませんよね。
それぞれがどの様な役割を果たしているのかを見ていきましょう。

eyecatch_dog

クラスとは

まず、Javaを始めたばかりの人だと、難しく考えすぎてしまう傾向にあると思います。
頭を柔らかくして単純に考えましょう。

Javaクラス物語

例えば、こんな状況を想像してください。

あなたの学校でクラス替えがありました。しかも、そのクラス替えは成績によって3つに分けられます。
優秀クラス凡才クラス底辺クラスです。

しかし、ここで底辺クラスを馬鹿にしてはいけません。
底辺クラスの成績が悪いのには理由があります。暇さえあればエ◯ゲーをしているのです。
その為、成績は悪くとも、妄想力だけはどのクラスにも負けません。

つまり、それぞれのクラスに一長一短あるわけです。
この様なクラスを作って、学年で先生を倒すのが目的です。
まとめるとこうなります。

優秀クラス:勉強熱心で、ゲームに一切興味がない為、妄想力は皆無。(防御型)
凡才クラス:勉強もゲームも両立して行う為、バランスが取れている。(バランス型)
底辺クラス:勉強は一切しないが妄想力は誰にも負けない。(攻撃型)

あなたはどれですか?
ちなみに、Rは底辺クラスです。やかましいわ。

プログラムに置き換える

では、上記の条件を一度プログラムに置き換えてみましょう。

public class Main {
	public static void main(String[] args) {

	}
}

class Yushu {
	
}

class Bonsai {
	
}

class Teihen {
	
}

3つのクラスを作りました。(Mainクラスは別として。)

最初にclassとついているのが、Javaでいうクラスです。
実行してもまだ何も起こりません。中身を何も書いてないですね。

しかし、クラスというものが少し理解出来てきませんか?
もしかすると、学校のクラスと同じ意味なのでは……?

それぞれのクラスに生徒を作る

上記のプログラムに足りないものは生徒ですよね。
クラスがあれば生徒がいるのが当然のこと。というわけで、それぞれのクラスに、男女の人数を示す変数を作ります。

public class Main {
	public static void main(String[] args) {
		Yushu y = new Yushu();
		Bonsai b = new Bonsai();
		Teihen t = new Teihen();
		
		System.out.println("優秀クラスの男子の人数は" + y.man + "人です。");
		System.out.println("優秀クラスの女子の人数は" + y.women + "人です。");
		System.out.println("凡才クラスの男子の人数は" + b.man + "人です。");
		System.out.println("凡才クラスの女子の人数は" + b.women + "人です。");
		System.out.println("底辺クラスの男子の人数は" + t.man + "人です。");
		System.out.println("底辺クラスの女子の人数は" + t.women + "人です。");
	}
}

class Yushu {
	int man = 15;
	int women = 16;
}

class Bonsai {
	int man = 17;
	int women = 13;
}

class Teihen {
	int man = 12;
	int women = 18;
}

実行結果
優秀クラスの男子の人数は15人です。
優秀クラスの女子の人数は16人です。
凡才クラスの男子の人数は17人です。
凡才クラスの女子の人数は13人です。
底辺クラスの男子の人数は12人です。
底辺クラスの女子の人数は18人です。

これで気がついた方もいるでしょう。Javaで言うクラスは、使い方によっては学校のクラスと同じ様に扱うことができるのです。
こう考えれば、Javaのクラスが身近に感じてきたのではないでしょうか?

いや、ちょっと待てよ。
さっきクラスの説明で、攻撃型とか防御型とか書いていたけど、あれは何だったんだ?

それはこの後明らかになります。

メソッドとは

メソッドはクラスと記述が似ているので、初心者の方は混乱してしまうかも知れません。
では、上のプログラムを編集してみましょう。

メソッドを記述してみる

メソッドはクラスの中に書かれます。
下のプログラムでは、攻撃か防御かを選択できる様、それぞれのクラスに2つずつのメソッドを追加しました。

public class Main {
	public static void main(String[] args) {
		Yushu y = new Yushu();
		Bonsai b = new Bonsai();
		Teihen t = new Teihen();
		
		y.Bogyo();		//優秀クラスの防御
		b.Kogeki();		//凡才クラスの攻撃
		t.Kogeki();		//底辺クラスの攻撃
	}
}

class Yushu {
	int man = 15;
	int women = 16;
	void Kogeki() {				//(1)
		System.out.println("優秀クラスの生徒たちは、先生に20ダメージを与えた。");
	}
	void Bogyo() {				//(2)
		System.out.println("優秀クラスの生徒たちは、先生から20ダメージを食らった。");
	}
}

class Bonsai {
	int man = 17;
	int women = 13;
	void Kogeki() {				//(3)
		System.out.println("凡才クラスの生徒たちは、先生に30ダメージを与えた。");
	}
	void Bogyo() {				//(4)
		System.out.println("凡才クラスの生徒たちは、先生から30ダメージを食らった。");
	}
}

class Teihen {
	int man = 12;
	int women = 18;
	void Kogeki() {				//(5)
		System.out.println("底辺クラスの生徒たちは、先生に40ダメージを与えた。");
	}
	void Bogyo() {				//(6)
		System.out.println("底辺クラスの生徒たちは、先生から40ダメージを食らった。");
	}
}

実行結果
優秀クラスの生徒たちは、先生から20ダメージを食らった。
凡才クラスの生徒たちは、先生に30ダメージを与えた。
底辺クラスの生徒たちは、先生に40ダメージを与えた。

(1)〜(6)がメソッドの開始場所です。

そして
y.Bogyo();
b.Kogeki();
t.Kogeki();
で、それぞれのメソッドを呼び出しています。

つまり、y.Bogyo();は優秀クラスの防御メソッド、b.Kogeki();は凡才クラスの攻撃メソッド、t.Kogeki();は底辺クラス攻撃メソッドを呼び出しています。

何となく、クラスとメソッドがイメージできたでしょうか?

学校のクラスだけがJavaのクラスではない

ここで勘違いしてもらいたくないのが、学校のクラスだけがJavaのクラスではないということです。
今回はクラスを分かりやすくする為に、学校のクラスに例えただけの話であり、Javaのクラスが、勇者を示す勇者クラスであってもいいのです。

ゲームだけにとらわれてはいけません。例えば、お絵描きソフトを作りたい場合、ウィンドウを作るクラス、ペンツールで線を引くクラス、新規作成を行うクラスなど、様々なクラスが考えられます。(実際にそういうクラスで作られているかどうかは分かりません。。。)

スポンサードリンク

コメントをどうぞ!

メールアドレスが公開されることはありません。




オススメ記事

WordPress|ショートコードの作り方&使い方。確実に使いこなす為のガイド。

前回、WordPressで、特定のカテゴリ一覧を表示する方法について書きました。 改めまして、@It_is_Rです。 特定のカテゴリ一覧を表示したとき、ショートコードというものを使いましたが、

Yarn

Yarn の使い方。インストールの方法から使い方まで解説します。

最近ドラクエにはまっている@It_is_Rです。PS1 のやつです。ドラクエⅦ。 関係ない話はさておき、今回は Yarn の使い方を解説していきたいと思います。 Yarn とは

Homebrew

Homebrewを使いこなせ!Macへのインストールや使い方。

人生をもう一度やり直したいとつくづく思う@It_is_Rです。 やり直したところで同じ道を辿るのがオチですよ、全国の不幸な皆さん!! さて、おふざけはここまでにして、今回はHomebrewにつ

WordMove | 運用中の WordPress 環境をローカルと FTP で同期

道が覚えられない、@It_is_Rです。 人生さえ彷徨い続けてここにいます。 さて、運用中の WordPress サイトの環境を、ローカル開発環境と同期したい時、 WordMove を使うとと

【 Bootstrap 4 】全体的な機能の解説と、Alert の使い方。

頭がお花畑の@It_is_Rです。 今回からは Bootstrap 4 の使い方について、詳しく書いていこうと思います。 このシリーズの、前回の記事はこちらです。 Bootstrap 4 を

enchant.js

HTML5 と javascript ( enchant.js )を使ったアクションゲーム開発。

以前、Flashを使って、横スクロールアクションゲームを作ろうとしていたのですが、実はAndroid4.xではFlashPlayerがサポートされておらず、最近のAndroidではFlashPlaye

Ameba customize

アメーバのOwndで、無料で超簡単にホームページ作ってやろうぜ!!

どうも、@It_is_Rです。 ホームページを作成するには、まずHTMLを使う能力、若しくはソフトが必要になります。 さらにサーバーを借りなくてはなりません。するとお金がかかったりします。 では

gulp

gulpでsassをcssにコンパイル。インストール&便利な使い方。

幸せそうな人を見ると、転べって思います。@It_is_Rです。 Webページを制作するとき、sassをcssに変換して使用することが多いと思います。 今回は、gulpを使ってsassをcssに

Swift

【Xcode7】Swift2でMacアプリ開発。画像を読み込む為のボタンを作る。

犬も歩けば棒にあたる。だからRは歩かない。@It_is_Rです。 最近はSwiftの記事が多いと思っている人もいるのでは無いでしょうか。実はRは現在、Swiftを使ってゲーム開発のお助けアプリを

Bootstrap 4 を読み込む為の方法を徹底解説。パッケージマネージャーなど。

今回は Bootstrap 4 の使い方です。It_is_Rです。 では詳しくみていきましょう。 Bootstrap とは Bootstrap は Webサイトを制作するときに使う、