Javaのクラス(class )の種類を現役エンジニアが解説【初心者向け】
初心者向けにJavaのクラス(class )の種類について解説しています。Javaにおけるクラスの基本と使い方、継承と親クラス、子クラスについてサンプルコードを使って説明します。基礎となる部分なので必ず理解しておきましょう。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
Javaのクラス(class )の種類について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。
Javaを学習しているとクラスという言葉をよく見かけることでしょう。ただ、クラスってどんなものか非常に理解が難しいですよね。オブジェクト指向を理解できるかどうかは、このクラスの概念を理解できるかどうかに掛かっていると言っても過言ではありません。そこでこの記事ではクラスについて徹底的に解説していきます。
Javaについてそもそもよく分からないという方は、Javaとは何なのか解説した記事を読むとさらに理解が深まります。
なお本記事は、TechAcademyのオンラインブートキャンプ、Java講座の内容をもとに作成しています。
今回は、Javaに関する内容だね!
どういう内容でしょうか?
クラス(class )の種類について詳しく説明していくね!
お願いします!
目次
クラスとは
クラスとは、簡単に言うと「モノを作るための設計図」のことです。この設計図を使って、インスタンス(オブジェクトとも言う)と呼ばれるモノを作成していきます。
クラスにはフィールドとメソッドの2種類の情報を書いていきます。フィールドはインスタンスの状態を表し、メソッドは特定の処理を表します。説明だけだとイメージがあまり湧かないと思うので、実際にコードを書いていきましょう。概要をまとめておきます。
- クラスにname, ageの2つのフィールドを定義。このフィールドはインスタンスごとに固有の値を持つ
- クラスにshow()メソッドを定義。インスタンスに設定されたname, ageの2つのフィールドを表示するメソッドである(フィールドの時と同様にメソッドも複数持たせることが可能。)
class Human: { //フィールド String name; int age; //メソッド void show() { System.out.println(“名前は” + name + “です。”); System.out.println(“年齢は” + age + “です。”); } }
クラスの使い方
クラスの定義の仕方を理解できたところで、次はクラスの使い方について見ていきましょう。概要をまとめておきます。
- Human hm1 = new Human();でHumanクラスからインスタンスを生成し、変数hm1に格納
- hm1.name = “masao”;でhm1インスタンスのnameに名前を設定
- hm1.age = “20”;でhm1インスタンスのageに名前を設定
- hm1.show();でhm1インスタンスのnameとageを表示
- 2つ目のインスタンスについても同様の操作を実施
Class Test { public static void main(String[] args) { Human hm1 = new Human(); hm1.name = “masao”; hm1.age = “20”; hm1.show(); Human hm2 = new Human(); hm2.name = “yoko”; hm2.age = “19”; hm2.show(); } }
それぞれのインスタンスが持つ変数に、別々の値が入っていることが確認できましたね。
クラスの種類
最後にクラスの種類について解説していきます。まず、クラスを新たに作成する際には、既存のクラスの情報を引き継ぐことができます。この引き継ぎのことを継承と言い、継承して新しく作られたクラスの方を子クラス、既存のクラスの方を親クラスと言います。
クラスを継承すると、新しく作成する子クラスではコードの記述量が少なくて済むので非常に便利です。例えば先ほどのHumanクラスを継承してWomanクラスを作りたい場合は以下のようにコードを書きます。
class Woman extends Human { //フィールド String cosme; //メソッド void showCosme() { System.out.println(“持っている化粧品は” + cosme + “です。”); } }
Class Test2 { public static void main(String[] args) { Woman wm1 = new Woman(); wm1.name = “reina”; wm1.age = “28”; wm1.cosme = “lipstick”; wm1.show(); wm1.showCosme(); } }
このように、子クラスでは親クラスと同じフィールドやメソッドを使うことができます。また、小クラス独自のフィールドやメソッドも定義できます。
まとめ
この記事ではJavaのクラスの種類について解説しました。Javaをやる上でクラスの概念を理解することは必須ですので、是非とも理解しておきましょう。
監修してくれたメンター
柴山真沙希(しばやままさき)
大手IT企業などでエンジニアとして2年ほど勤務した後、個人事業主としてプログラミングスクール「エンペサール」を経営。子供から大人まで幅広い層を対象にプログラミングを教えている。 得意言語はPython, HTML, CSSで、機械学習やデータ分析、スクレイピングなどが得意。サッカー観戦や読書が趣味である。 |
内容分かりやすくて良かったです!
ゆかりちゃんも分からないことがあったら質問してね!
分かりました。ありがとうございます!
TechAcademyでは、初心者でも、JavaやServletの技術を使ってWebアプリケーション開発を習得できる、オンラインブートキャンプを開催しています。
また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。