[JAVA] 기초 2. 객체의 종류와 생성 방법 3가지
1. 객체의 종류
1.1. DTO (Data Transfer Object)
:: 객체의 가변성 부여
:: 주로 서비스 계층에서 Controller로 데이터 전달 or API 호출 결과를 클라이언트로 전달이 목적
- 객체 내 데이터에 대한 Getter와 Setter 사용 가능
1.2 VO (Value Object)
:: 객체의 불변성 부여
:: 여러 도메인 객체 간의 값 비교 or 무결성 검증 역할
:: 값의 동일성을 기준으로 비교 -> equlas() 와 hashCode() 메서드를 재정으하는 경우 사용
- 객체 내 데이터에 대한 Getter 가능 , Setter 사용 X
1.3 비교
구분 | DTO (Data Transfer Object) | VO (Value Object) |
목적 | 데이터 전달을 위한 객체 | 값 자체를 표현하기 위한 객체 |
변경 가능성 | 가변 객체(setter O) | 불변 객체(setter X) |
예시 | API 응답 객체 데이터 전송 객체 |
도메일 모델 값 비교, 상태관리 객체 |
2. Object 생성 방법 3가지
2.1. 생성자
2025.01.23 - [정리용/java] - [JAVA] 기초 2. 생성 방법 3가지 - (1) 생성자
[JAVA] 기초 2. 생성 방법 3가지 - (1) 생성자
1. 생성자:: 필요한 형태의 객체에 따라 각각의 방식으로 생성자를 만듦1.1 @NoArgsConstructor + @Setter:: 빈 객체 생성 후, 필요에 따라 필드 값 주입Member aaron = new Member(); // 빈 객체 생성aaron.setName("Aaron"
hee-ya07.tistory.com
2.2. 빌더
2025.01.23 - [정리용/java] - [JAVA] 기초 2. 생성 방법 3가지 - (2) 빌더
[JAVA] 기초 2. 생성 방법 3가지 - (2) 빌더
2. 빌더(Builder):: Builder 패턴은 3가지로 분리되어 호출// 1) 빌더 정의Member.MemberBuilder builder = Member.builder()// 2) 필드 설정builder.name("Aaron") .email("aaron@example.com") // 3) 객체 생성Member aaron = builder.build();
hee-ya07.tistory.com
2.3. 정적 팩토리 메서드
2025.01.23 - [정리용/java] - [JAVA] 기초 2. 생성 방법 3가지 - (3) 정적 팩토리 메서드
[JAVA] 기초 2. 생성 방법 3가지 - (3) 정적 팩토리 메서드
3. 정적 팩토리 메서드:: 객체를 생성할 수 있는 방법을 단 하나의 정적 메서드 방식으로만 가능하게 제한팩토리 메서드(Factory Method Pattern):: 캡슐화된 Factory 클래스가 대리하여 객체 생성 및 반::
hee-ya07.tistory.com
참조
ASAC 수업 자료