デジタルトレンドナビ
システム開発

2024.02.21

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

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

Javaプログラミングにおいて、クラスを実際に使うためにはインスタンス化が必要です。このプロセスは、「new演算子」によって実現されます。

この記事では、new演算子を使ってJavaのクラスをインスタンス化する方法を、初心者にも理解しやすいように解説します。具体的なコード例を通じて、new演算子の使い方とその背後にあるオブジェクト指向の概念について学んでいきましょう。

この記事でわかること

  • new演算子について
  • new演算子の使い方
  • new演算子のサンプルコード

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演算子を使いこなして、様々なオブジェクトを生成してみましょう!

投稿者

  • デジタルトレンドナビ編集部

    システム開発、Webサイト制作、ECサイトの構築・運用、デジタルトランスフォーメーション(DX)など、デジタルビジネスに関わる多岐の領域において、最新のトレンド情報や実践的なノウハウを発信してまいります。