DTO to Entity & Entity to DTO

Dami·2023년 11월 17일
0

SPRING

목록 보기
9/14
post-thumbnail

어디에서?

controller 계층에서 작업을 진행했다.
client 기준으로 가장 먼저 거쳐 가야 하는 계층이어서 순서대로 작업하고자 contoroller를 먼저 건들였다.

어떻게?

    // Entity -> DTO
    private FoodDTO convertToDTO(Food food) {
        FoodDTO dto = new FoodDTO();
        dto.setId(food.getId());
        dto.setName(food.getName());
        dto.setDescription(food.getDescription());
        dto.setPrice(food.getPrice());
        dto.setCategory(food.getCategory());
        return dto;
    }

    // DTO -> Entity
    private Food convertToEntity(FoodDTO foodDTO) {
        Food food = new Food();
        food.setName(foodDTO.getName());
        food.setDescription(foodDTO.getDescription());
        food.setPrice(foodDTO.getPrice());
        food.setCategory(foodDTO.getCategory());
        return food;
    }

매번 변환을 해주면 코드가 길어질 것이기에 따로 메서드를 만들어서 진행했다.


변환 메서드에서 사용한 방법은 "setter" 방식이다. 이 방법은 각각의 값을 직접 설정해야 했지만, 구글링 했을 때 가장 직관적으로 이해를 할 수 있는 방식이었기에 선택했다.

setter가 뭔데?

"Setter"는 객체 지향 프로그래밍에서 사용된다.
객체의 특정 속성 값을 설정하는 메서드를 의미한다.

setter 메서드들은 객체의 내부 상태를 외부로부터 안전하게 변경할 수 있도록 해주는 방법이다.(캡슐화)

예시 코드

public class Food {
    private String name;

    public void setName(String name) {
        this.name = name;
    }
}
  • 접근 제한자: 일반적으로 public으로 선언되어 객체 외부에서 접근할 수 있다
  • 별도의 반환 값이 필요 없어서 거의 void

0개의 댓글