【プログラミング教育ナビ】は、プログラミング初心者が自分に合った勉強法や教室を見つけられたり、プログラミングに特化した求人が検索できたり、SaaSの比較ができるサイトです。人気講座のある入門スクールや独学できる学習サイトを、口コミ・評判で比較してランキング形式でご紹介しています。言語から探す場所から探す条件から探すrsstwitterfacebook案件獲得できなかったら全額返金!未経験からプロのエンジニアスキルを身につけ、フリーエンジニアとして稼げるまで徹底サポート。プログラミング初心者向け技術系ノウハウ・まとめTweetPocket今回のテーマは、メソッドのオーバーライドについてです。一瞬オーバーライドと言われても、初心者にとっては少し分かりにくいものです。一言で言えば、オーバーライドは、上書き保存です。上書き保存といえば、PCを使っていればよく聞く言葉です。ワードやエクセルといったあらゆるソフトに上書き保存の機能がついています。今回はワードやエクセルの機能面である上書き保存で難しいメソッドのオーバーライドを理解していきましょう。おわりにオーバーライドの前にクラスについて理解するオーバーライドの説明に行く前に1つ重要な事があります。それが、クラスについてです。クラス名{}と書かれた分が1つのクラスです。実は、一番最初で書くHelloWorldのプログラムでも無意識にクラスを使っています。赤枠で囲まれた部分が1つの立派なクラスです。上記の画像では、HelloWorldクラスと言います。あなたが上司から○○クラス間違ってるから直してと指摘されたら、その○○クラスのソースを再度確認してみましょう。}と頭のなかで出てくるようにしておきましょう。クラスは何個でもかけるためソースの保管もしやすくなるクラスを持つ特徴として、何個でもかける点が最大のメリットです。この何個でもかけるということは、システム開発においては、システムごとにクラスを作り、ソースの管理がしやすくするためでもあります。してそれほどソースの管理が重要かは、変更、訂正時に最小限にするためです。最小限にすることによって、後々万が一のトラブルがあったときに原因を特定しやすく、修正する時間も大幅に短縮できます。あなたもこれからは、システムごとにクラスを作る癖をつけておきましょう。それでは、オーバーライドに進みましょう。オーバーライドとは上書きすることであるオーバーライドは、英語でOverrideと書き、その意味は上書きを意味します。例えるなら、ワードで新規作成(名前をつけて保存済み)し、新規作成したワードに文書を書き、上書き保存をします。この一連の流れが、Javaではオーバーライドと言われるものです。オーバーライドは上書き保存であることをしっかり頭に入れておきましょう。仕様用途はメソッドで使われるJavaにおけるオーバーライドの使用用途は、メソッドで行われます。メソッドとは、【Java入門】本の貸し借りで覚える引数と戻り値(return文)のメソッドとは何か?をご覧ください。オーバーライドは、2つ以上のクラスがあり、どちらのクラスにも同じ名前のメソッドがあることをいいます。上記の画像を見てみましょう。1つ目のクラスHumanクラスにmesメソッド、2つ目のHitorimeクラスにも同じmesメソッドがありますが、内容が違いますね。オーバーライドをするときはクラスが継承される特徴を持つオーバーライドにおいては、クラスの継承と呼ばれる特徴を持ちます。クラスの継承については機会がある時にしましょう。Humanとあります。Humanがクラスを継承しています。このextendsのおかげで、2つ目のクラスで1つ目のクラスの内容が使えるようになり、上書きできるようになります。これがワードやエクセルで言う上書き保存機能そのものなのです。それでは実際にこのプログラムをあなたの手で実装してみましょう。Humanクラスとメソッドを作るまずは、1つ目のクラスHumanクラスを作りそのクラス内にmesメソッドを作ります。ここまでは簡単ですので、そのまま何も考えずに打ちましょう。STEP.22つ目のクラスHitorimeクラスを作り、メソッドを作る(メソッド名は1個めのメソッド名と同じ)次に、2つ目のクラスHitorimeクラスを作りましょう。Humanとつけましょう。これをつけることによって、1つ目のHumanクラスの内容をHitorimeクラスでも使えるようにする魔法の呪文のようなものです。作り終わったら、1つ目と同じmesメソッドを作りますが、Hitorimeクラスに作るmesメソッドは1つ目のmesメソッドとは違う内容にしておきましょう。最後に、System.out.println();の前に、super.mes()と追加してみましょう。super.mes()は1つ目のHumanクラスのmesメソッドを呼び出しています。ここではそれほど気にすることなくそのまま打ち込んでください。STEP3.メインメソッドでこんにちはよろしくお願いしますと出力させましょう最後に、メインメソッドに出力させる命令を打ちましょう。クラス名();と記載し、xxx.メソッド名();です。このセットは他でもよく使うのでしっかりと覚えておきましょう。xxxのところは何でも構いません。便宜上ここではhitorimeとしています。今回の場合は、メソッドをオーバーライドさせているので、左辺のクラス名は、1つ目のクラス、右辺のクラス名は2つ目のクラスと少々ややこしいことをしています。これを踏まえて実行してみましょう。出力されていれば成功です。おわりに今回は、少し難しいテーマでもあるメソッドのオーバーライドについて挑戦してみました。オーバーライドは上書きということでしたね。オーバーライドにはクラスの継承が必要不可欠であり、そうすることによって2つ目のクラスで内容を上書きしています。今回は、それがよく分かるように2つ目のクラスのメソッドで1つ目のクラスのメソッドを呼び出す処理を追加しています。このsuperについても、クラスの継承の説明の時に詳しくお伝えします。Javaにおいてはメソッドの上書きができるそれだけ理解できただけでも十歩以上前進しています。投稿者:プログラミング教育ナビ編集部tweetプログラミングで挫折しそうなら、現役エンジニアにマンツーマンで相談してみませんか?オンラインのプログラミングスクール「TechAcademy」のメンターが対応。人気の記事まだデータがありません。【プログラミング教育ナビ】は、プログラミング初心者が自分に合った勉強法や教室を見つけられたり、プログラミングに特化した求人が検索できたり、SaaSの比較ができるサイトです。人気講座のある入門スクールや独学できる学習サイトを、口コミ・評判で比較してランキング形式でご紹介しています。