어떤 문제에 어떻게 대처해라.
서버 측 : Database Column Data -> DTO -> API(JSON or XML) -> Client
클라이언트 측 : Server -> API(JSON or XML) -> DTO -> View or Local Database System
정리하자면,
VO : 사용 되는 값이 객체로 표현 되며, 값 변경이 없는 경우를 말한다.
DTO : 데이터의 전송을 위한 객체이며, 비즈니스 로직까지 담아서 사용하기도 한다.
출처: https://swk3169.tistory.com/292
객체의 인스턴스가 오직 1개만 생성되는 패턴을 의미한다. 싱글톤 패턴을 구현하는 방법 중에 가장 안전한 것은 객체를 미리 생성해두고 가져오는 방법이다.
출처: https://tecoble.techcourse.co.kr/post/2020-11-07-singleton/
package com.icia.example5;
import lombok.AccessLevel;
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
@AllArgsConstructor
class Saram {
int height;
}
class SaramService {
// 1. 자신의 정적 필드를 가진다
private static SaramService service = new SaramService();
// 2. 생성자는 private - 외부에서 객체 생성을 금지
private SaramService() {
}
// 3. 필드를 빌려주는 메소드 추가
public static SaramService getInstance() {
return service;
}
// 적정 체중(키-100)을 계산
public void printWeight(Saram saram) {
System.out.println(saram.height-100);
}
}
public class singletonTest3 {
public static void main(String[] args) {
Saram s1 = new Saram(175);
Saram s2 = new Saram(180);
SaramService service = SaramService.getInstance();
service.printWeight(s2);
}
}
getInstance() : 최초에 할당된 하나의 메모리를 계속 쓰는 방식. 필드를 빌려주는 메소드 추가,,