domain
Entity
JPA 엔티티 클래스를 지정. 데이터베이스의 테이블과 매핑.
Table
해당 엔티티 클래스가 매핑될 데이터베이스 테이블의 이름을 지정
Id
엔티티 클래스의 기본 키(primary key) 필드를 지정.
Column
엔티티 클래스의 특정 필드가 데이터베이스의 열과 매핑될 때 사용
Getter 및 Setter
Lombok 어노테이션, 자동으로 Getter 및 Setter 메서드를 생성.
NoArgsConstructor(access = AccessLevel.PROTECTED)
Lombok 어노테이션, 매개변수 없는 생성자 생성. protected 접근 제한자를 사용해 외부에서 직접 접근하지 못하도록 설정.
Builder
Lombok 어노테이션, 빌더 패턴을 생성. 객체를 생성할 때 매개변수를 지정하여 보다 가독성 있고 유연한 객체 생성 가능.
dto
AllArgsConstructor
클래스의 모든 필드를 인자로 받는 생성자를 자동으로 생성
클래스의 모든 필드를 초기화하는 생성자를 만들어줌. 객체를 생성할 때 모든 필드를 한 번에 초기화할 수 있음.
NoArgsConstructor
매개변수가 없는 기본 생성자를 자동으로 생성
매개변수가 없는 생성자를 명시적으로 작성하지 않아도 되며, 객체를 만들 때 디폴트 생성자를 사용할 수 있음.
→ 객체 생성 및 초기화를 편리하게 하기 위해 사용.
생성자를 만드는 이유 : 주로 객체의 초기화를 위해서. 객체가 생성될 때 필요한 초기 상태를 설정, 객체를 사용하기 위해 필요한 설정 등을 수행하기 위해 생성자를 사용
- 객체 초기화: 객체가 생성될 때 필요한 초기 상태를 설정. 객체의 필드를 초기화, 초기값을 설정.
- 유효성 검사: 생성자 내부에서 객체의 유효성을 검사하여 유효하지 않은 값이 들어오는 것을 방지. 입력된 값이 특정 범위를 벗어나는지 확인, null인지 확인하여 적절한 예외를 던질 수 있음.
- 의존성 주입(Dependency Injection): 객체가 다른 객체에 의존하는 경우, 생성자를 통해 의존 객체를 주입할 수 있음. 이를 통해 객체 간의 결합도를 낮출 수 있고, 유연한 코드를 작성할 수 있음.
- 불변성(Immutability) 유지: 생성자를 통해 객체의 필드를 초기화한 후에는 보통 해당 필드를 변경할 수 없도록. 객체의 불변성을 유지할 수 있어 코드의 안정성을 높이고 예측 가능성을 높일 수 있음.
- 코드 가독성 및 유지보수성: 객체의 초기화 과정이 명시적으로 표현되므로 코드의 가독성을 높일 수 있음. 객체가 어떻게 초기화되는지 쉽게 파악할 수 있어서 유지보수성을 높일 수 있습니다.
반응형
'프로젝트 하면서 > 홈페이지 만들기' 카테고리의 다른 글
Springboot 도커로 배포하기 (0) | 2024.04.24 |
---|---|
drop down 드롭 다운 선택하기 (0) | 2024.04.18 |
IntelliJ 실행 안 되는 문제 jdk17 (0) | 2024.04.10 |
네비게이션바를 만들어보자 (0) | 2024.04.04 |
Vue 프로젝트 버전 설정 (0) | 2024.04.03 |
댓글