new演算子でJavaのクラスをインスタンス化する
システム開発

new演算子でJavaのクラスをインスタンス化する

約4分で読めます
目次

new演算子とは?

new演算子とは?

Javaにおける「new」演算子は、オブジェクト指向プログラミングにおいて不可欠な要素です。この演算子は新しいオブジェクトを作成し、そのオブジェクトのためのメモリ空間をヒープ上に確保するために使用されます。例えば、「new ClassName()」の形式で使用されると、ClassNameというクラスの新しいインスタンスが作成されます。

これにより、クラスのコンストラクタが呼び出され、オブジェクトの初期化が行われます。new演算子は、Javaのオブジェクト指向特性を活用する上で重要であり、オブジェクトの動的割り当てを可能にします。

オブジェクトとは?

オブジェクトとは?

オブジェクトは、プログラム中で扱えるデータや処理のまとまりです。現実世界で例えると、車や人、建物など、個々の存在をイメージすると分かりやすいです。

オブジェクトには、以下のような特徴があります。

  • 状態:オブジェクトは、名前、年齢、位置など、その状態を表すデータを持ちます。
  • 動作:オブジェクトは、移動、計算、描画など、特定の動作を実行できます。
  • カプセル化:オブジェクトは、内部のデータや処理の詳細を隠蔽し、外部からは必要なインターフェースのみを提供します。内部データを外部から直接アクセスさせないことにより、オブジェクトの整合性を保ちます。
オブジェクト指向とは?プログラミング初心者に向けて解説 | デジタルトレンドナビ
オブジェクト指向とは?プログラミング初心者に向けて解説 | デジタルトレンドナビ
オブジェクト指向とは、処理を部品化してそれぞれを組み合わせ、ひとつのプログラムを作成する方法です。考え方など理解できると、コードが短く読み解きやすい、作業が効率化できるなど多くのメリットがあります。

new演算子でオブジェクトを作成

new演算子でオブジェクトを作成

new演算子は、クラスの型を指定して、その型に対応するオブジェクトを生成するために使用します。クラスは、オブジェクトの設計図のようなもので、オブジェクトの構造や動作を定義します。

【例】String型のオブジェクト生成

String name = new String("山田太郎");

上記のコードでは、String型のオブジェクトを生成し、nameという変数に代入しています。new演算子の後に、クラス名(String)と、オブジェクトに渡したい引数("山田太郎")を記述します。

【例】Personクラスのオブジェクト生成

class Person {
private String name;
private int age;

public Person(String name, int age) {
this.name = name;
this.age = age;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public int getAge() {
return age;
}

public void setAge(int age) {
this.age = age;
}
}

Person person = new Person("佐藤花子", 25);

上記のコードでは、Personというクラスを定義し、そのクラスのオブジェクトを生成しています。

  • Personクラスには、nameとageという2つの属性と、それらを操作するためのメソッドが定義されています。
  • new Person("佐藤花子", 25)という部分で、Personクラスのコンストラクタを呼び出し、オブジェクトを生成しています。
  • コンストラクタには、オブジェクトの初期値として、名前と年齢を渡しています。

まとめ

まとめ

new演算子は、オブジェクト生成の基本的な操作です。new演算子の後に、クラス名とコンストラクタ引数を記述して、オブジェクトを生成します。

オブジェクトは、状態、動作、カプセル化などの特徴を持ち、クラスはオブジェクトの設計図のようなもので、オブジェクトの構造や動作を定義します。

今回の記事を参考に、Javaのnew演算子を使いこなして、様々なオブジェクトを生成してみましょう!

デジタルトレンドナビ

デジタルマーケティングでお悩みの方は、テクノデジタルにご相談ください。弊社では最新技術や長年のシステム資産を活かしたコンサルティングサービスを実施しています。お客様の事業に合わせた提案ができるので、ぜひお気軽にお問い合わせください。