프로젝트를 만들던중 Dto 파일을 열심히만들어서 사용하고있었다.

 

상사분이 Dto 파일을 왜만드는지 아는지 여쭤봤는데 사실 잘모르겠다고하였다.

 

왜만드는지 모르는데 그냥 복붙해서 값만 잘가져오겠지하는생각 위험하다.

 

알고쓰는거랑 그냥쓰는거랑은 큰차이가 있다고 생각한다.

 

 

그래서 Dto 사용이유를 적어보고자 한다.

 

 

DTO란

Data Transfer Object의 약자로, 계층 간 데이터 전송을 위해 도메인 모델 대신 사용되는 객체이다.

즉, DTO는 순수하게 데이터를 저장하고, 데이터에 대한  getter, setter 만을 가져야한하고 한다.

 

view와 controller 단에서 주고받을수있는 그릇의 역활이라고 생각하면 될거같다.

 

 

그렇다면 왜 DTO를 사용하는걸까?

만약 DTO대신 도메인 모델을 계층간 전달에 사용하면, UI 계층에서 도메인 모델의 메소드를 호출하거나

상태를 변경시킬 수 있다. 또한 UI화면마다 사용하는 도메인 모델의 정보는 상이하다. 

하지만 도메인 모델은 UI에 필요하지 않은 정보까지 가지고있기 때문에 도메인 모델 속성이 외부에

노출되면 보안 문제가 발생할수 있기때문이다.

즉, 도메인 모델을 캡슐화하여 보호할 수있기때문에 DTO 를 사용한다고 보면된다.

 

 

 

오랜만에 Spring 프로젝트를 접하고나니

자바의 기본문법, Spring을 사용하는이유, 등등 헷갈리고있는중이다.

자바, 자바스크립트 배열 리스트배열 오브젝트 문법 기본이 참 헷갈리고있다.

 

기본은 반복하자.

 

 

+ Recent posts