1. getter setter
목적 :
객체 내부의 필드 값에 접근하고, 그 값을 수정할 수 있도록 하는 메서드입니다.
보통 클래스의 필드(속성)는 private로 설정하여 외부에서 직접 접근하지 못하게 하고, getter와 setter를 통해 간접적으로 접근할 수 있게 합니다.
사용 이유 :
:데이터를 보호하고 유효성을 검증하기 위함.
객체 캡슐화(encapsulation)를 유지하기 위함 .
필요에 따라 데이터 가공 후 반환하거나, 설정 전 검증 로직을 넣을 수 있음.
/*Getter: 객체의 필드 값을 반환하는 메서드. */
public String getName() {
return this.name;
}
/* Setter: 객체의 필드 값을 설정하는 메서드. */
public void setName(String name) {
this.name = name;
}
2. DTO ( Data Transfer Object )
목적 :
데이터를 계층 간에 전송하기 위한 객체입니다.
주로 서비스 계층과 데이터베이스 계층 간 또는 클라이언트와 서버 간 데이터를 주고받을 때 사용됩니다.
구조:
DTO는 단순히 데이터를 담는 그릇이며,
비즈니스 로직이 포함되지 않고 오직 데이터를 전송하기 위한 역할만 수행합니다.
DTO는 보통 getter와 setter만 포함된 순수한 데이터 객체입니다.
public class EmployeeDTO {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
사용 이유 :
계층 간 데이터 전달 시 불필요한 종속성을 줄이기 위함.
데이터를 효율적으로 전송하고, 변경이 쉬운 구조로 만들기 위함.
전송 데이터의 형식을 일관성 있게 관리하기 위함.
Getter/Setter와 DTO의 차이
[ 역할 ]
Getter/Setter: 객체의 개별 속성에 접근하거나 수정하는 메서드.
DTO: 데이터를 전송하기 위한 전체 객체.
[ 용도 ]
Getter/Setter: 객체 내부 속성을 보호하면서 외부와 데이터를 주고받는 메서드.
DTO: 데이터를 다른 계층 간에 전송하기 위한 객체.
[ 비즈니스 로직 ]
Getter/Setter는 객체의 데이터 처리 로직을 추가할 수 있지만,
DTO는 비즈니스 로직이 포함되지 않고 단순한 데이터 전송만 담당합니다.
[ 캡슐화 ]
Getter/Setter는 캡슐화를 유지하면서 필드에 접근할 수 있게 해 주고,
DTO는 캡슐화보다는 데이터 전송에 초점을 맞춘 객체입니다.
728x90
반응형
LIST
'Language > Java' 카테고리의 다른 글
[Java] csv 파일을 ,(콤마)기준으로 자른 내역을 새로 엑셀 파일로 생성하기 (0) | 2024.05.26 |
---|---|
[Java] tomcat 다운로드 및 설치 (0) | 2020.08.10 |
[Java] 이클립스(Eclipse) 다운로드 및 설치(zip) (0) | 2020.08.10 |
[Java] 이클립스(Eclipse) 다운로드 및 설치 (0) | 2020.07.17 |
[Java] Java 1.8 (Java SE Development Kit 8) 다운로드 및 설치 (Mac OS) (0) | 2020.04.05 |
댓글