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?

@〇〇ArgsConstructorが便利だと思ったというメモ

Last updated at Posted at 2025-07-17

はじめに

JavaとSpringBootの学習を進める中で、Lombokの機能の内、@AllArgsConstructorアノテーションと@NoArgsConstructorについて、「これは便利だな」と思い、メモに残しておきたいと思ったため、記事としてまとめていきます。

Lombokについて

まずLombokとは、Javaのプログラミングにおいて冗長なコードを削減し、開発効率を削減するためのライブラリです。
対応したアノテーションを付与することで、全てのフィールドに対してゲッターやセッターを自動で生成するコンストラクタを自動で生成する、などをしてくれるため、コードの記述量が大幅に削減されます。

@〇〇ArgsConstructorについて

Lombokというライブラリに含まれるアノテーションのうち、@NoArgsConstructor@AllArgsConstructorについて紹介したいともいます。

@NoArgsConstructorアノテーション

@NoArgsConstructorをクラスにつけることで、引数なしのコンストラクタを自動生成してくれます。デフォルトコンストラクタのことです。

  • @NoArgsConstructorアノテーションを付与したクラス
import lombok.NoArgsConstructor;

@NoArgsConstructor
public class SampleClass1 {
    private int number1;
    private String name1;
}
  • 実際の記述
public class SampleClass1 {
    private int number1;
    private String name1;

    public SampleClass1() {
    }
}

このようにデフォルトコンストラクタを自動で生成してくれます。

@AllArgsConstructorアノテーション

@AllArgsConstructorアノテーションをつけることで、クラス内の全てのフィールドを引数に取るコンストラクタを自動生成してくれます。

  • @AllArgsConstructorアノテーションを付与したクラス
import lombok.NoArgsConstructor;

@AllArgsConstructor
public class SampleClass2 {
    private int number2;
    private String name2;
}
  • 実際の記述
public class SampleClass2 {
    private int number2;
    private String name2;

    public SampleClass1(int number2, String name2) {
        this.number2 = number2;
        this.name2 = name2;
    }
}

このように、全てのフィールドについてのコンストラクタを自動生成してくれます。

さいごに

ほかにも@RequiredArgsConstructorアノテーションという、finalフィールドのみを引数に持つコンストラクタを自動生成してくれるアノテーションもあるようですが、使い方がイメージできなかったため、今回の記事では割愛します。
Lombokは便利なライブラリなので、他の機能も学習し、使いこなすことで開発効率を上げていきたいと思っています。

参考文献

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?