【Java超入門コース】12.メソッド |メソッドを料理ロボットに例えて説明しました【プログラミング初心者向け入門講座】

Java超入門コース

この記事の執筆・監修

キノコード
キノコード    

テクノロジーアンドデザインカンパニー株式会社のCEO。
日本最大級のプログラミング教育のYouTubeチャンネル「キノコード」や、プログラミング学習サービス「キノクエスト」を運営。
著書「あなたの仕事が一瞬で片付くPythonによる自動化仕事術」や、雑誌「日経ソフトウエア」や「シェルスクリプトマガジン」への寄稿など実績多数。

はじめに

こんにちは。キノコードです。
「【5分レッスン】Java超入門コース#12 メソッド」について説明します。

メソッドとは?

まず、メソッドについて説明します。
メソッドとは、「処理」のことです。
なぜメソッドがあるのでしょうか?
料理で例えてみます。
例えば、いつも作るカレーがあるとします。
そのレシピを料理ロボットに記憶してもらいます。
またカレーが食べたくなったときに、
ボタン1つで作れる。
しかも、その料理ロボットは、自分も使えるし、家族も使える。
その料理ロボットがメソッドなのです。
メソッドの便利なところは、3つあります。
1つめは、同じものを2回書く必要がなくなること。
2つめは、同じものを他の場面でも使えること。
3つめは、他の人も使うことができることです。
実は、今までのレッスンでメソッドを使ってきました。
変数の中身を表示させるときに使っていたprintln(プリントライン)です。

メソッドの種類

メソッドには2種類あって、自分で作るメソッドと、Javaがあらかじめ用意してくれているメソッドです。
このprintlnメソッドは、Javaがあらかじめ用意しているメソッドです。
printlnメソッドはたった1行で変数の中身を表示してくれますが、メソッドの中身は何行ものコードが書かれています。
もしprintlnメソッドがなければ、変数の中身を表示させたいときに、イチからそのコードを書くことになり、大変です。
printlnメソッドがあるから、変数の中身を表示させたいたびに何行もコードを書く必要ありませんし、使いたいときに、たった1行で使い回すことができるのです。

メソッドの定義の意味

今まで書いてきたコードについて解説をします。
前回のfor文のレッスンで使ったコードはこれでした。

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

    int arr[] = {2,4,6,8,10};
    int sum = 0;

    for( int i = 0; i < 5; i++ ) {
      sum += arr[i];
      }
    System.out.println(sum / arr.length);
    }
  }

上の2行だけ抜き出すとこうなります。

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

1行目の部分はクラスを定義している部分です。
クラスについては次にレッスンで紹介しますので、2行目からみていきます。
この部分がメソッドを定義している部分です。
メソッドの定義とは、どんなメソッドにするか決めることです。
例えば、他のクラスからアクセスができるようにするか?戻り値の型、引数の型をどうするか?メソッド名はなんとするか?などを決めます。メソッドの内容を決めることをメソッドの定義といいます。
「メソッドの定義」の具体的な意味については、Java オブジェクト指向コースで説明をします。このレッスンでは、こんなことをやっているんだって程度で理解してもらえればOKです。
一番左のPublicから説明していきます。
ここの部分はアクセス修飾子といいます。
メソッドは、オブジェクト指向という考え方から、他のクラスから使うことができないように制限をかけることがあります。
このアクセス修飾子は、どこからアクセス可能であるかを決めるものになります。
アクセス修飾子は、4つあります。
1つめにパブリックです。
これは他のクラスからアクセス可能なアクセス修飾子です。
2つめに、プロテクテッドです。これは、同一パッケージ、サブクラスからアクセス可能です。
3つめに、指定をしない場合です。つまり、何もかかなかった場合です。この場合は、同一パッケージからアクセス可能です。
4つめに、プライベートです。これは、同一クラスからアクセス可能です。
ここは、その他の修飾子です。
その他の修飾子でよく使うものは3つあります。
1つめは、スタティックです。これはクラスをインスタンス化しなくても接呼び出し可能なものです。
2つめにアブストラクトです。これはクラスをインスタンス化できません。
3つめにファイナルです。これはクラスを上書きすることができません。
ここでは戻り値の型を指定します。
voidとは、戻り値がないメソッドのときに記述します。
戻り値が数値型ならここにintを書き、文字列型ならStringを書きます。
ここはメソッド名を書く部分です。
今までみてきたmainメソッドは、Javaのコードに必ず必要なメソッドであり、必ず書くメソッドです
mainメソッド以外に、自分でメソッドを作る場合、ここに自分で作ったメソッド名を記述します。
最後にかっこの中には、引数の型を書きます。
main関数の場合、String[] argsを書くのが一般的です。

KinoCode チャンネル

YouTubeで毎日動画配信しています。
動画は3分間なので、
 ・通勤時間
 ・お昼休み
 ・お手すきのとき
 ・寝る前
など手軽に視聴できます。
 
ちょっとしたインプットにどうぞ!
 
▼チャンネル登録はこちらからどうぞ。
未経験からはじめるPython学習「キノクエスト」 キノクエスト
  • スキルアップしたいけど何からはじめればよいかわからない…
  • プログラミングスクールに入りたいけど料金が高い…
  • プログラミングを学んでも業務やキャリアに活かせるか不安…

キノクエストは、このような悩みを持つ方にぴったりのプログラミング学習サービスです。
国内最大級のプログラミング学習系YouTubeチャンネル「キノコード」が提供しているから、未経験者にもわかりやすく質の高い学習体験を実感していただけます。

キノクエスト