https://velog.io/@sunnamgung8/%EC%9E%90%EB%B0%94-%EC%83%9D%EC%84%B1%EC%9E%90Constructor
[자바] 생성자(Constructor)
생성자란 new 연산자에 의해서 단 한 번 호출되는 단위입니다. 우리는 그 동안 생성자를 따로 정의하지 않았습니다. 하지만 객체는 new 연산자에 의해서 무조건 단 한 번 호출됩니다. 우리가 그 동
velog.io
- NoArgsConstructor : 파라미터가 없는 디폴트 생성자를 생성
- @AllArgsConstructor : 모든 필드 값을 파라미터로 받는 생성자를 생성
- @RequiredArgsConstructor : final이나 @NonNull으로 선언된 필드만을 파라미터로 받는 생성자를 생성
@NoArgsConstructor
@NoArgsConstructor 어노테이션은 파라미터가 없는 디폴트 생성자를 자동으로 생성한다. 이 어노테이션을 사용하면, 클래스에 명시적으로 선언된 생성자가 없더라도 인스턴스를 생성할 수 있다.
@NoArgsConstructor
public class Person {
private String name;
private int age;
// getters and setters
}
위 코드는 다음과 같다.
public class Person {
private String name;
private int age;
public Person(){}
}
@AllArgsConstructor
@AllArgsConstructor 어노테이션은 클래스의 모든 필드 값을 파라미터로 받는 생성자를 자동으로 생성한다. 이 어노테이션을 사용하면, 클래스의 모든 필드를 한 번에 초기화할 수 있다.
@AllArgsConstructor
public class Person {
private String name;
private int age;
// getters and setters
}
위 코드는 다음과 같다.
public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
}
@RequiredArgsConstructor
@RequiredArgsConstructor 어노테이션은 final이나 @NonNull으로 선언된 필드만을 파라미터로 받는 생성자를 자동으로 생성한다. 이 어노테이션을 사용하면, 클래스가 의존하는 필드를 간단하게 초기화할 수 있다.
@RequiredArgsConstructor
public class Person {
private final String name;
private final int age;
private String address;
// getters and setters
}
위 코드는 다음과 같아진다.
public class Person {
private final String name;
private final int age;
private String address;
public Person(final String name, final int age) {
this.name = name;
this.age = age;
}
}
Reference
롬복 @All/NoArgsConstructor 제대로 알고 사용해보자.
문득 전 회사 레거시 코드를 생각하다가 @AllArgsConstructor, @NoArgsConstructor 등 여러 어노테이션이 한클래스에 같이 작성되어있는 것을 본적이있다.Lombok은 불필요한 코드와 작업을 줄여주는 좋은 라
velog.io
'🍀Spring > 기타' 카테고리의 다른 글
스프링 부트 매개변수 인식 문제 (1) | 2024.07.24 |
---|
https://velog.io/@sunnamgung8/%EC%9E%90%EB%B0%94-%EC%83%9D%EC%84%B1%EC%9E%90Constructor
[자바] 생성자(Constructor)
생성자란 new 연산자에 의해서 단 한 번 호출되는 단위입니다. 우리는 그 동안 생성자를 따로 정의하지 않았습니다. 하지만 객체는 new 연산자에 의해서 무조건 단 한 번 호출됩니다. 우리가 그 동
velog.io
- NoArgsConstructor : 파라미터가 없는 디폴트 생성자를 생성
- @AllArgsConstructor : 모든 필드 값을 파라미터로 받는 생성자를 생성
- @RequiredArgsConstructor : final이나 @NonNull으로 선언된 필드만을 파라미터로 받는 생성자를 생성
@NoArgsConstructor
@NoArgsConstructor 어노테이션은 파라미터가 없는 디폴트 생성자를 자동으로 생성한다. 이 어노테이션을 사용하면, 클래스에 명시적으로 선언된 생성자가 없더라도 인스턴스를 생성할 수 있다.
@NoArgsConstructor
public class Person {
private String name;
private int age;
// getters and setters
}
위 코드는 다음과 같다.
public class Person {
private String name;
private int age;
public Person(){}
}
@AllArgsConstructor
@AllArgsConstructor 어노테이션은 클래스의 모든 필드 값을 파라미터로 받는 생성자를 자동으로 생성한다. 이 어노테이션을 사용하면, 클래스의 모든 필드를 한 번에 초기화할 수 있다.
@AllArgsConstructor
public class Person {
private String name;
private int age;
// getters and setters
}
위 코드는 다음과 같다.
public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
}
@RequiredArgsConstructor
@RequiredArgsConstructor 어노테이션은 final이나 @NonNull으로 선언된 필드만을 파라미터로 받는 생성자를 자동으로 생성한다. 이 어노테이션을 사용하면, 클래스가 의존하는 필드를 간단하게 초기화할 수 있다.
@RequiredArgsConstructor
public class Person {
private final String name;
private final int age;
private String address;
// getters and setters
}
위 코드는 다음과 같아진다.
public class Person {
private final String name;
private final int age;
private String address;
public Person(final String name, final int age) {
this.name = name;
this.age = age;
}
}
Reference
롬복 @All/NoArgsConstructor 제대로 알고 사용해보자.
문득 전 회사 레거시 코드를 생각하다가 @AllArgsConstructor, @NoArgsConstructor 등 여러 어노테이션이 한클래스에 같이 작성되어있는 것을 본적이있다.Lombok은 불필요한 코드와 작업을 줄여주는 좋은 라
velog.io
'🍀Spring > 기타' 카테고리의 다른 글
스프링 부트 매개변수 인식 문제 (1) | 2024.07.24 |
---|