Javaの必須知識!クラスとインスタンスについて基本的な使い方を理解しよう
  • facebookページ
  • twitterページ
  • 2020.01.06

    Javaの必須知識!クラスとインスタンスについて基本的な使い方を理解しよう

    Javaでプログラミングを行う上で必須となる知識に「クラス」と「インスタンス」の存在があります。

    本記事では、Javaでにおけるクラスとインスタンスの関係、基本的な知識と使い方についてご紹介していきたいと思います。

    Javaのクラスとインスタンスの違いについて理解する


    Javaプログラミングの学習において、初期の段階で「クラス」「インスタンス」の知識を理解しておく必要があります。

    クラスとは

    Java言語のようなオブジェクト指向と呼ばれるプログラミング言語で使用され、処理のまとまりを「クラス」と呼びます。

    クラスには「フィールド」と呼ばれる値を格納するための変数と、「メソッド」と呼ばれる振る舞い(処理)が記述されます。

    ポテパンダの一言メモ

    プログラミングは建築によく例えられますが、「クラス」は建築業界でいうところの設計図のような役割を果たします。

    インスタンスとは

    上記でクラスは建築業界での設計図と表現しましたが、「インスタンス」は建築業界でのいう実際の「建物」を指します。

    ユーザーが実際に利用する場合、建物の設計図だけでは利用することが出来ません。

    設計図から組み立てられた「建物」が必要になりますよね?

    プログラミングにおいても同じで、「クラス(設計図)」だけでは利用することは出来ず、実際に利用するためにはクラスから作られた「インスタンス(建物)」が必要になります。

    Javaでクラスからインスタンスを生成する方法とは


    実際にJavaプログラムでクラスからインスタンスを生成する方法をご紹介していきます。

    インスタンスの生成にはnew演算子を使用する

    クラスからインスタンスを生成する場合、下記のようにnew演算子を使用します。

    インスタンスのフィールド値やメソッドを利用する方法

    生成したインスタンスのフィールド変数やメソッドは下記のように利用します。

    インスタンスの生成から操作までJavaのサンプルコードで確認


    では実際にクラスからインスタンスを生成して操作するまでの方法をJavaのサンプルコードで確認していきたいと思います。

    サンプルコードを用意する

    今回利用するサンプルコードは下記の通りで「Main.java」として作成しました。

    サンプルコードでは「犬」と「猫」のインスタンスを生成し、それぞれのフィールド値の値をintroduceメソッドを利用して出力するサンプルです。

    サンプルコードを実行した結果が下記の通りとなります。

    サンプルコードの内容を確認しよう

    サンプルコードの実装内容についてご紹介していきます。

    インスタンスの生成

    まず※1では「dog」と「cat」2つのインスタンスを生成していることがご確認頂けます。

    今回のサンプルコードの場合、引数を3つ指定した「コンストラクタ」と呼ばれるインスタンス生成時の初期化処理 を定義しており、インスタンス生成時に指定した情報がフィールド情報に保持されます。

    Animalクラス内の※1がコンストラクタの処理を定義している部分になります。

    フィールド値を参照してみよう

    次に※2では、それぞれのインスタンスが持つフィールド値の値を参照しています。

    インスタンス生成時に指定した値をコンストラクタでフィールド変数に格納し、後ほどMainクラスから参照出来ていることがご確認頂けます。

    同じクラスから生成されたインスタンスですが、出力されている値が異なるのは「実体(インスタンス)」が異なるためです。

    ポテパンダの一言メモ

    Javaでプログラムを行う上で重要なポイントとなりますので、しっかりと確認しておきましょう。

    メソッドを実行してみよう

    最後に※3では、それぞれのインスタンスから「introduce」メソッドを実行しています。

    introduceメソッドの処理としては、フィールド変数に保持した値をコンソールに出力するというものです。

    それぞれインスタンス初期化時に指定した値が出力されていることをご確認頂けます。

    さいごに:Javaにおいてクラスとインスタンスの関係性は必須知識

    本記事では、Javaにおける「クラス」と「インスタンス」の関係性や使い方をサンプルコードを交えながらご紹介してきました。

    オブジェクト指向を用いたプログラミング言語を利用するプログラマーにとって「クラス」と「インスタンス」の使い方は必須の知識となります。

    今回はJavaのサンプルコードでご紹介してきましたが、基本を理解出来ていればJava以外のオブジェクト指向プログラミング言語でも応用することが可能ですので、しっかりと理解出来るように確認してみてください。


    ポテパンが提供するサービスについて

    本メディア「ポテパンスタイル」を運営する株式会社ポテパンは、エンジニアキャリア領域で複数サービスを提供しています。

    ポテパンフリーランス

    ポテパンフリーランス

    フリーランスエンジニアの方に高単価案件をご紹介しております。弊社ではフリーランス案件を常時300件ほど保有しており、その中からあなたに適した案件をご案内いたします。また、これから独立してフリーランスになる方の無料個別相談も承っております。フリーランスになった後の案件獲得方法やお金面(税金や保険など)についてお答えいたします!フリーエンジニアになりたい方向けのコンテンツも盛りだくさんです。

    ポテパンキャリア

    ポテパンキャリア

    エンジニア職専門の転職エージェントです。ポテパンキャリアでは、技術のわかるエージェントがあなたの転職をサポートします。エージェント自身がエンジニアなので、あなたと同じ目線で仕事内容や今後のキャリアについて一緒に考えることができます。年収800万円以上のハイスペック転職をご希望の方は「ポテパンプロフェッショナル」もご用意しておりますのでご利用下さいませ。

    ポテパンキャンプ

    ポテパンキャンプ

    ポテパンキャンプでは、RubyにてゼロからオリジナルのECサイトを作り上げてる3ヶ月間の実践型カリキュラムを提供しております。すでに本スクールの卒業生は、エンジニア職として様々な企業様に就職しております。なお、本スクールは受講料25万円と他社スクールに比べ格安となっており、またポテパンからご紹介させていただいた企業へ就職が決まった場合は、全額キャッシュバックいたします。



    株式会社ポテパンは、企業とエンジニアの最適なマッチングを追求しています。気になるサービスがあれば、ぜひ覗いてみてください!

    ポテクラバナー ポテプロバナー

    この記事をシェア

    • Facebookシェア
    • Twitterシェア
    • Hatenaシェア
    • Lineシェア
    pickup









    ABOUT US

    ポテパンはエンジニアと企業の最適なマッチングを追求する企業です。

    READ MORE

    ポテパンおすすめ案件