본문 바로가기

Backend/JAVA

[패캠/JAVA] VO(DTO)클래스 잘 설계하기

728x90

DTO,VO 클래스(Data Transfer Object, Value Object)

데이터를 하나로 묶어야 될 경우, 데이터를 하나로 수집하는 역할

 

클래스를 설계할때는 정보은닉에 대해서 생각해 봐야한다.

 

정보은닉이란?

다른 객체에게 자신의 정보를 숨기고 자신의 동작,기능, 연산만을 통해 접근을 허용하는 것으로, 클래스 외부에서 특정 정보에 접근을 막는다는 의미

[객체 사용하는 순서: 객체 설계(모델링) -> 객체 생성 -> 객체 사용(접근)]

위 예시에서 private로 선언된 정보에 접근 할 수 없다 = 정보 은닉

객체지향프로그래밍에서는 객체를 설계 할 때 상태정보를 정보은닉 시킨다.

 

 

정보은닉 된 정보에 접근하는 방법

1. setter, getter 메서드를 통한 접근

getter, setter 메서드 선언

 

setter 메서드로 값을 저장하고 set + 멤버변수의 첫 영문을 대문자로 만들기

getter 메서드로 값을 얻어오고 get + 멤버변수의 첫 영문을 대문자로 만들기

 

 

2. 생성자 메서드를 통한 접근(객체 초기화)

객체 생성 후 초기화 시키기

생성자 메서드로 값을 저장하고(초기화), getter 메서드로 값을 얻어온다

 

 

객체생성시 원하는 값으로 초기화 하기

: 생성자 메서드를 오버로딩(Overloading)해서 초기화 가능

 

toString() 메서드로 객체 값 출력하기

: 객체가 가지고 있는 값 전체를 문자열 형태로 넘겨주기

 

 

잘 설계된 VO클래스란

  • 모든 생태정보를 정보은닉 하기(private)
  • 디폴트 생성자를 반드시 만들기
  • 생성자 메서드를 오버로딩 하여 객체 초기화 하기
  • setter 메서드를 만들기(값을 저장용도)
  • getter 메서드를 만들어(값을 얻기용도)
  • toString() 메서드를 만들기(객체가 가지고 있는 전체 값 출력용도)
728x90

'Backend > JAVA' 카테고리의 다른 글