에노테이션 | 설명 |
---|---|
@Getter/Setter | 속성들에 대하여 Get함수와 Set함수를 생성한다. |
@ToString | toString함수를 생성한다. |
@NotNull | 해당 변수가 null체크 |
@EqualsAndHashCode | equals함수와 hashCode함수를 생성한다. |
@Builder | 객체 생성시 빌더 패턴을 이용한다. |
@NoArgsConstructor | 파라미터(인수)가 없는 기본생성자 생성 |
@AllArgsConstructor | 모든 파라미터(인수)를 가진 기본생성자 생성 |
@RequiredArgsConstructor | 초기화 되지 않은 상수, @NonNull에너테이션이 붙은 필드에 대한 생성자 생성 |
@Value | 불변 클래스 생성 |
@Data | ToString, EqualsAndHashCode, Getter, Setter, RequireArgsConstrouctor 통합 기능 |
@Getter
@Setter
@ToString
public class UserDto{
private String name;
private integer age;
}
위와 같이 하였을 떄, 내부적으로 아래와 같은 함수가 자동 생성된다.
public class UserDto{
private String name;
private integer age;
public String getName(){
return this.name;
}
public String getAge(){
return this.age;
}
public String setName(final String name){
this.name=name;
}
public String setAge(final String age){
this.age=age;
}
//오버라이딩한 toString함수
public String toString(){
String var10000 = this.getName();
return "UserDto(name=" +var10000 + ", age=" + this.getAge() + ")";
}
}
만약, toString()을 오버라이딩 하지 않으면 "클래스이름@해시코드(16진수)"의 형태로 출력된다.