java

【はじめてのJava】メソッドの作り方【オブジェクトとクラス編】


はじめてのJava

このシリーズでは、初めてJavaやプログラミングを勉強する方向けに、Javaによるプログラミングの基礎を説明していきます。
目標レベルは、Javaの資格試験の一つである「Oracle Certified Java Programmer, Silver」(通称Java Silver)に合格できる程度の知識の習得です。
はじめてJavaやプログラムに触れる方にもできるだけわかりやすい解説を心がけていきます。


オブジェクトとクラス編

オブジェクトとクラス編では、Javaを扱う上で非常によく出てくる「オブジェクト」や「クラス」について扱っていきます。

前回は「メソッドの概要」について扱いました。

今回は「メソッドの作り方」について扱っていきます。


目次


メソッドを利用する

メソッドを記述することを「 メソッドを定義する 」「 メソッドを実装する 」と言います。

同様に、メソッドを使うことを「 メソッドを呼び出す 」と言います。

今回は、メソッドの作り方について詳しく見ていきましょう。


メソッドを作る

では、メソッドを定義してみましょう。

今回は、Carクラスに、自身のspeedを10上昇させるメソッドとしてaccellという名前のインスタンスメソッドを定義したいと思います。

メソッド定義前のCarクラスは以下の通りです。変数としてspeedとcolorが定義されています。

class Car{
  double speed;
  String color;
}

ここに、アクセルメソッドを定義していきます。

メソッド定義に必要なもの

メソッドを定義するときに、必ず考えなければいけないものは4つあります。

  1. メソッド名
  2. 処理内容
  3. 引数
  4. 戻り値

※「引数」「戻り値」については、詳しくは次回の記事で説明します。

これをソースコードとして記述する際のイメージは以下のような感じです。分かりづらい場合はいったん読み飛ばして問題ありません。

/* 戻り値(のデータ型) */ /* メソッド名 */(/*引数*/){
  /* 処理内容 */
  /* 戻り値(の値) */
}

今回で言えば、完成形はこんな感じです。詳しくは後で説明しますので、よくわからなくても問題ありません。

void accell(/*なし*/){
  speed += 10;
  /* なし */
}

コメントを削除すると下記ののようになります。

void accell(){
  speed += 10;
}

順を追ってみていきましょう。


メソッド名

メソッドを定義する場合、まずメソッドの名前を決めます。

メソッド名は「一目見ただけでそのメソッドがどんな操作を行うのかがわかる」ことが理想です。

今回は、車のアクセルというイメージしやすい機能なのでそのまま「accell」としましょう。

※accellで通じづらい場合は「addSpeed」「speedUp」なども考えられます。

メソッド名を反映すると以下のようになります。

/* 戻り値(のデータ型) */ accell(/*引数*/){
  /* 処理内容 */
  /* 戻り値(の値) */
}

処理

次に、そのメソッドで行う処理の内容を決めます。

今回は、speedの値を10増やすという処理内容にしましょう。

処理内容を反映すると以下のようになります。

/* 戻り値(のデータ型) */ accell(/*引数*/){
  speed += 10;
  /* 戻り値(の値) */
}

引数

引数とは、メソッドを使うときにそのメソッドに渡すものです。詳しくは次回扱います。

今回はとりあえず引数はなしとします。引数が無い場合は、引数のところには何も書きません。

引数を反映すると、以下のようになります。

/* 戻り値(のデータ型) */ accell(){
  speed += 10;
  /* 戻り値(の値) */
}

戻り値

戻り値とは、メソッドを使った結果として戻ってくる値です。詳しくは次回扱います。

今回は戻り値はなしとします。戻り値が無い場合は、戻り値のデータ型にはvoidをしていし、戻り値の値のところには何も書きません。

戻り値を反映すると、以下のようになります。

void accell(){
  speed += 10;
}

これで、accellメソッドが定義できました。


accellメソッドが定義されたCarクラス

accellメソッドが定義されたCarクラスは次のようになります。

class Car{
  double speed;
  String color;

  void accell(){
    speed += 10;
  }
}

図にすると以下のような感じです。

これでメソッドを作ることができました。

次回はメソッドを使ってみます。


まとめ

メソッドを作ることを「メソッドを定義する」「メソッドを実装する」という。
メソッドを作るには最低でも「メソッド名」「処理内容」「引数」「戻り値」を考える。
作ったメソッドは呼び出すことで利用できる(詳しくは次回)。

次回

次回はメソッドの呼び出し方について詳しく触れていきます。


はじめてのJavaシリーズの目次はこちら
オブジェクトとクラス編はこちら


java 11 の練習問題一覧はこちら
はじめてのJavaシリーズの練習問題一覧はこちら

  • このエントリーをはてなブックマークに追加

PAGE TOP