블로그 컨텐츠 수정 VO 작성하기

블로그 컨텐츠 수정 VO 작성하기 개요

이제껏 우리는 값을 전달하는 방법으로 Map을 사용했었습니다. Map은 굉장히 유연해서 변경에 강하다는 장점이 있습니다만, 반면 안에 무슨 값이 있는지는 실행하기 전까지 아무도 모른다는 단점이 있습니다.
반면 VO(Value Object)는 값의 이름과 타입을 미리 정의해서 사용하는 방법입니다. 따라서 코드만 보고도 내용물을 파악할 수 있는 장점이 있지만 코드를 더 많이 써야 하므로 번거롭다는 단점이 있습니다. 추가로 VO는 자동완성이 된다는 최대 장점도 있지요.
프로젝트를 하다가 원리원칙을 중요하게 여기시는 AA분이나 PM분을 만나면 반드시 VO를 사용하라는 지침을 받을 수도 있습니다. 꼭 그렇지 않더라도 매개변수가 엄청나게 많은 입/출력의 경우 미리 정의를 하지 않으면 더 헷깔리는 경우도 있으므로 상황에 따라 적절하게 선택해서 사용하세요.

VO는 DTO(Data Transfer Object)라고 불리기도 합니다. 둘이 완전히 동일한 개념은 아니지만 데이터 컨테이너 역할을 한다는 점에서는 같습니다. 현장에서는 샘플 코드를 작성한 사람의 성향에 따라 VO라고도 하고 DTO라고도 합니다.

vo 패키지 생성

  1. blog 패키지 아래에 vo 패키지를 생성합니다.

VO 클래스 생성

  1. blog.vo 패키지 아래에 BlogEditRequestVO 클래스를 만듭니다.

VO에 멤버변수 선언


/src/main/java/v2/mvc/spring/blog/vo/BlogEditRequestVO.java

private int blogContSeq;
private String title;
private String contBdy;
  1. 생성된 BlogEditRequestVO 클래스에 사용할 멤버변수를 세 개 선언합니다.

getter, setter 만드는 메뉴 진입

  1. STS 에서 Source 메뉴를 클릭합니다.
  2. Generate Getters and Setters 메뉴를 선택합니다.

getter, setter 해당 필드 선택

  1. 선언한 멤버변수 세개가 모두 보여지는지 확인합니다.
  2. SelectAll 버튼을 클릭합니다.
  3. Insertion Point 를 After contBdy 로 선택합니다. contBdy가 멤버변수 선언의 마지막이기 때문입니다.
  4. Generate 버튼을 클릭합니다.

getter, setter 자동 생성 확인

  1. STS가 자동으로 만들어 준 getter 와 setter 코드를 확인합니다.
  2. 귀찮은 노동을 STS가 대신 해 줬다는 것에 감동합니다.