정리용/java

[JAVA] 기초 2. 객체의 종류와 생성 방법 3가지

hee-ya07 2025. 1. 23. 15:04

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 수업 자료