본문 바로가기

전체 글132

[JAVA]DTO, VO DTO(Data Transfer Object) DTO는 계층간의 데이터를 전송하기 위한 객체로써, getter/setter를 사용하여 보내는 사람은 setter를 사용하여 값을 담고, 받는 사람은 getter를 사용하여 값을 꺼내 쓴다. 이때 값의 변조를 막고 싶다면 생성자로 불변 객체로 만들어 버리면 된다. 또한 DTO의 특성상 데이터 전달만은 목적으로 사용하기 때문에 getter/setter를 제외한 다른 로직이 필요가 없다. VO(Value Object) VO의 경우 값 그 자체를 나타내는 객체로써, 핵심은 필드 값이 같다면 두 객체를 같은 객체로 본다는 것이다. 이때 당연하게도 주소값을 비교하는 경우의 문제점을 위해서 hashcode()와 equals()를 재정의하여 필드 값이 같다면 같은 객체로.. 2023. 2. 8.
[java] Spring은 계층 구조 Controller : 클라이언트 요청을 받고 클라이언트에게 결과를 반환 (Presentation Layer) Service : 비즈니스 로직을 실행하고 결과 반환(Service Layer) Repository : database에 쿼리를 이용해서 CRUD를 하는 계층(Data Access Layer) Domain : Entity 클래스 출처 : https://dingdingmin-back-end-developer.tistory.com/entry/Springboot-Test-%EC%BD%94%EB%93%9C-%EC%9E%91%EC%84%B1-1 2023. 2. 8.
[java] 빌드패턴 public class PersonInfo{ private String name; //필수적으로 받야할 정보 private int age; //선택적으로 받아도 되는 정보 private int phonNumber; //선택적으로 받아도 되는 정보 private PersonInfo(){ } public static class Builder{ private String name; private int age; private int phonNumber; public Builder(String name){ this.name = name; } public Builder setAge(int age){ this.age = age; return this; } public Builder setPhonNumber(int .. 2023. 2. 8.
一切唯心造 모든 것은 오직 마음이 지어낸다 2023. 2. 8.