개발/JAVA
도메인 객체에 Serializable 을 implements 하는 이유
신매력
2013. 2. 7. 13:40
내가 왕신입때 물어봤었던 질문이다.(지금도 쪼렙이지만...)
왜 도메인객체에(혹은 DTO?) Serializable을 implements 하는지.
public class User implements Serializable { private String name; private int age; private String info; // ... getter, setter } |
사용하는 이유는
remote 서버에 전송을 할 때 사용한다.
클래스에 있는 필드 정보를 직렬화하여, 사용할 수 있게 하는 것이다.
(직렬화 할 때 메소드는 포함하지 않는다고 한다.
즉, 필드들만 직렬화 한다.)
implements는 했지만 별다른 메소드를 구현할 필요는 없다.
실제 사용하는 예 중에는 memcached를 쓸 때였다.
도메인 객체에 Serializable을 구현하지 않으면 에러가 난다.
캐시에 저장할 때 도메인 객체 단위로 넣어두곤 했는데
직렬화된 도메인 객체 정보를 쓰기 때문인가보다