직렬화는

  • 객체를 파일에 저장하거나 네트워크로 전송하기 위해 byte형태의 데이터로 변환하는 것
  • 파일이나 네트워크로 전송된 데이터를 다시 객체로 변환하는 과정은 역 직렬화

직렬화 방법

  • Serializable인터페이스를 Implements하면 됩니다.
    Implements Serializable

serialVersionUID

  • 직렬화한 객체의 고유 번호입니다.
  • 전송한 객체와 전송받은 객체가 같은지를 판단할 때 사용됩니다.
    • 객체의 형태가 바뀌면 컴파일시 serialVersionUID는 다시 생성됩니다.
    • 클래스 이름이 같아도 serialVersionUID가 다르면 다른 클래스로 인식합니다.
  • 프로그래머가 지정하지 않으면 자바에서 자동으로 생성해 줍니다.
    • serialVersionUID를 만들 때에는 static final long serialVersionUID =숫자L으로 선언합니다.

transient

  • 직렬화에서 제외하고 싶은 멤버

기타

  • 부모가 직렬화 되어있는 상태에서 자식이 직렬화를 하면 부모의 변수도 함께 직렬화됨.
  • 부모가 직렬화 되어있지 않은 상태에서 자식이 직렬화를 하면 자식 혼자만 직렬화 됨.

References

profile
기록하고 정리하는 걸 좋아하는 백엔드 개발자입니다.

0개의 댓글

Powered by GraphCDN, the GraphQL CDN