[Spring]클래스에 Serializable을 구현하는 이유

윤재열·2022년 3월 28일
0

Spring

목록 보기
45/72

문득 공부하다가 의문점이 들었습니다. 파일업로드하는데 DTO에 왜
Serializable 을 구현하는 이유가 뭘까?

implements Serializable에 대한 의문점?

  • 자바책에는 객체를 파일에 저장하거나 파일에서 꺼내오기 위해서 또는 객체를 네트워크를 통해 전송하기 위해서는 미리 객체를 직렬화해야 한다고 되어 있습니다.

  • 웹 소스를 보면 서비스 객체나 컨트롤러 객체는 직렬화 하지 않는데, 도메인 객체(DB에서 읽어온 내용을 담는 객체)는 꼭 implement Serializable로 직렬화를 하는데 이유가 궁금했습니다.

결론

  • 서버가 다중화되어 있고 세션 클러스터링을 통해 세션관리를 하는 환경에서 도메인 객체가 세션에 저장이 될 때 도메인 객체에 Serializable 인터페이스를 구현해야 정상적으로 세션에 저장하고 꺼내올 수 있기 때문입니다.

  • 도매인 객체가 세션에 저장되지 않는 단순한 데이터 집합이고 컨트롤러에서 생성되어서 뷰에서 소멸하는 데이터의 전달체라면 객체 직렬화를 고려하지 않아도 됩니다.

  • 객체 직렬화는 Serializable인터페이스를 구현한 것만 가능하게 설계합니다.

profile
블로그 이전합니다! https://jyyoun1022.tistory.com/

0개의 댓글