0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Recordクラスとは?

Posted at

Javaを勉強中に「レコードクラス」を学んだので、この記事では、レコードクラスの特徴や使い方を、簡単に説明します!

1. 概要

レコードクラスとは、「データを運ぶための専用クラス」です。例えば、名前や年齢などの情報をまとめて扱いたい場合に便利です。
ポイントは、「作ったあとに中身を変更できない不変なクラス」であること。

2. 特徴

1. クラスの特性

レコードクラスは、他のクラスを継承(サブクラス化)することができません。
クラス自体が「シンプルなデータのまとまり」を目的としているため、拡張は不要だからです。

2. フィールド(クラス内のデータ)

レコードクラスのフィールドは、インスタンスを作るとき(newで生成するとき)に必ず初期化されます。
初期化後は変更できません(private finalというキーワードが自動的につきます)。
ただし、レコードクラスの中でstaticな変数(全体で共有される変数)を明示的に定義することは可能です。

3. コンストラクタ(初期化処理)

レコードクラスには、以下の3種類のコンストラクタが使えます。

  1. 標準コンストラクタ
    自動的に生成されるもので、特に書かなくても使えます。
  2. 代替コンストラクタ
    開発者が明示的に定義するもので、オーバーロード(引数のパターンを増やすこと)もできます。
  3. コンパクトコンストラクタ
    こちらも開発者が定義します。主に引数のチェックを行うときに使います。

4. 自動生成されるメソッド

レコードクラスでは、次のメソッドが自動的に作られます。

・getter(フィールド名と同じ名前のメソッド)
・equals(オブジェクト同士を比較するメソッド)
・hashCode(データのハッシュ値を計算するメソッド)
・toString(データ内容を文字列として出力するメソッド)
これらを自分で書かなくても、自動で生成されるのがとても便利です!

3. まとめ

今回学んだレコードクラスは、シンプルな構造のおかげで、使い方次第では開発の効率を大きく向上させられそうです。特に、DTO(データ転送オブジェクト)として活用できる場面が多い気がする(予想)。
これから資格勉強を進めながら、さらに深く学び、実際の活用方法についても理解を深めたいと思います。また新たに気づいたことがあれば、この記事のようにわかりやすくまとめて紹介しますので、ぜひお楽しみに!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?