System.out.println("Java学習中");

【Java / Spring Boot】UI/UXの視点を活かしたバックエンド開発の学習ポートフォリオ

【Java Silver対策】メソッドについて

前回の記事では、召喚の呪文(new)を唱えて、初期化の儀式(コンストラクタ)を経て、 勇者キャラクターという実体(インスタンス)が降臨するところまでお話ししました。

前回の記事はこちら👇

kamoi-kenichi.hatenablog.com

今回は、誕生した勇者に「命を吹き込む」ための、メソッドについて解説します✍️


⚔️ メソッドとは?:勇者の「コマンド(行動)」

コンストラクタ「誕生時の初期設定」なら、メソッド「その後にできるアクション」のことです。

RPGの戦闘画面を思い出してください。

たたかう」「じゅもん」「ぼうぎょ」「にげる」……

これら一つ一つが、Javaでいうところのメソッドにあたります。

  • クラス(設計図): 勇者は「たたかう」や「回復」ができる、という定義。

  • メソッド(行動): 実際に剣を振ったり、呪文を唱えたりする具体的な動き。


📝 実際に特技を覚えさせてみよう!

前回の Hero クラスに、特技(メソッド)を追加してみます。

class Hero {
    String name;
    int hp;

    // コンストラクタ(誕生時の初期設定)
    public Hero(String name) {
        this.name = name;
        this.hp = 100;
    }

    // ★特技1:攻撃(メソッド)
    public void attack(String monster) {
        System.out.println(this.name + " は " + monster + " を攻撃した!");
        System.out.println("8ポイントのダメージを与えた! 💥");
    }

    // ★特技2:回復(メソッド)
    public void heal() {
        this.hp += 20;
        System.out.println(this.name + " はホイミを唱えた! ✨");
        System.out.println("HPが20回復した! (現在のHP: " + this.hp + ")");
    }
}

🔍 メソッドの「3つのパーツ」を解剖

メソッドを自分で書くときは、以下の「3つのポイント」に注目してください。

先ほどの public void attack(String monster) を例に見てみましょう。

1️⃣ void(戻り値):お礼や結果はもらえる?

void(ボイド) は英語で「空っぽ」という意味です。

「攻撃して終わり!(結果のデータは返さなくていいよ)」という場合は void を使います。

もし「ダメージの計算結果を返して!」という場合は、ここに int(数字)などを書きます。

2️⃣ attack(メソッド名):技の名前は?

そのアクションを表す名前をつけます。

Javaでは、誰が見ても分かりやすいように「動詞」から始めるのが一般的です(eat, run, print など)。

3️⃣ (String monster)(引数):何に対して行う?

「誰を攻撃するのか」「いくら回復するのか」といった、実行に必要な材料(データ)をカッコの中に書きます。

これを 「引数(ひきすう)」 と呼びます。

※必要ない場合は () のように空っぽでOKです!


🤔 どうやって実行するの?

インスタンス(勇者の実体)を作った後、「ドット( . )」を使って命令を出します。

public static void main(String[] args) {
    // 1. 勇者を生み出す(インスタンス化)
    Hero h1 = new Hero("アルス");

    // 2. 特技を使わせる(メソッド呼び出し)
    h1.attack("スライム"); // アルス は スライム を攻撃した!
    h1.heal();             // アルス はホイミを唱えた!
}

「h1(アルスくん) .(に命令だ!) attack(攻撃しろ!) 相手は "スライム" だ!」 というイメージで読んでみると、イメージしやすいかもしれません。


🌟 メソッドのここがすごい!

メソッドを作る最大のメリットは、「同じ命令を何度でも使い回せる」ことです。

もしメソッドがなかったら、攻撃するたびに「System.out.println(...)」と長いコードを何度も書かなければなりません。

でも、一度メソッドとして定義しておけば、次からは h1.attack("スライム"); の一行を書くだけで、何度でも同じアクションをしてくれます!

🔍 まとめ


  • メソッド = インスタンスができる 「アクション(動詞)」のこと

  • 引数 = 命令を出すときに渡す 「材料・ターゲット」

  • 戻り値 = 命令が終わった後にもらえる 「お返し・結果」

さて、これで勇者は立派に戦えるようになりました!

次回は、さらに色々なキャラクターやモンスターを作って冒険を進めていきましょう!🎮

「メソッドって何?」と悩んでいる方の参考になれば幸いです 🙌


【プロフィール・作品置き場】

kenichikamoi.com


🎵 Youtube(楽曲一覧)はこちら

www.youtube.com