Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 정처기필기
- git
- spring
- 롬복
- CICD
- 정처기
- 빌드자동화도구
- Docker
- 빌드스크립트
- aws
- java
- 어노테이션
- 정보처리기사
- 롬복사용시주의할점
- PULL방식아키텍쳐
- Groovy문법
- controller
- 알고리즘
- 서버
- 정처기공부
- 완전탐색알고리즘
- 롬북
- 생성자
- API
- 정보처리기사필기
- 무중단배포
- 프로그래머스
- 시계열디비
- 자바
- Java8
Archives
- Today
- Total
우당탕탕 개발일지
[Lombok] @AllArgsConstructor / @NoArgsConstructor 본문
멋쟁이사자처럼 백엔드 스쿨 2기를 교육 받으면서 만들었던 프로젝트를 리팩토링 하며,
불필요한 코드를 공부하고 프로젝트를 정리해보기로 했다.
제일 먼저 눈에 띈 한 클래스 내 같이 작성된 @AllArgsConstructor / @NoArgsConstructor
해당 애노테이션이 어떤 용도인지를 파악하며 코드를 수정해보기로 했다.
@AllArgsConstructor
클래스의 모든 필드 값을 파라미터로 받는 생성자를 자동으로 생성한다.
고로 클래스의 모든 필드를 한 번에 초기화할 수 있다.
하지만 파라미터를 꼭 다 받아야하는 경우가 아니라면 이 생성자는 굳이 필요가 없을 수 있다.
@NoArgsConstructor
파라미터가 없는 기본 생성자를 자동으로 생성한다.
이 애노테이션을 사용하면, 클래스에 명시적으로 선언된 생성자가 없더라도 인스턴스를 생성할 수 있다.
프로젝트에선 회원가입 클래스에 사용되었는데
필드로 사용된 username / password는 파라미터로 꼭 넘어와야하는 것들이기 때문에
기본 생성자는 빼고 AllArgsConstructor를 사용하기로 했다.
롬복을 사용하여 코드를 줄이고 코드 구현을 애노테이션으로 간단히 할 수 있지만
어떤 기능을 하고, 꼭 필요한 기능이 맞는지를 잘 생각해보고 적절히 사용해보자.
'개발' 카테고리의 다른 글
[Lombok] @Data 사용법 (0) | 2023.05.31 |
---|---|
Gradle(그래이들) 개념 및 특징 (0) | 2023.03.29 |
좋은 객체 지향 설계의 5가지 원칙(SOLID) (0) | 2022.12.15 |
[Lombok] RequiredArgsConstructor 어노테이션이란? (0) | 2022.12.06 |
[Lombok] RequiredArgsConstructor 어노테이션이란? (0) | 2022.11.28 |