기술 블로그

직렬화(Serialization)와 역직렬화(Deserialization), transient 변수 본문

JAVA

직렬화(Serialization)와 역직렬화(Deserialization), transient 변수

parkit 2023. 9. 7. 08:56
728x90
반응형

◎ 직렬화(Serialization)

  • Java의 객체를 외부로 저장/복원하거나 네트워크 상으로 전송할 수 있도록 바이트 형태로 변환하는 기술을 의미
  • 객체를 저장, 전송할 수 있는 특정 포맷 상태로 바꾸는 과정
  • 객체가 아무리 복잡하여도 직렬화를 통해 객체를 바이트 형태로 변환하여 외부로 전송할 수 있음
  • java.io.Serializable 인터페이스를 구현함으로써 Java 직렬화를 수행
  • transient 키워드를 사용하면 해당 변수는 직렬화에서 제외할 수 있다. 데이터를 저장하거나 전송할 때 민감한 정보 등을 제외하고 싶은 경우에 사용할 수 있음
  • 장점 1 : 객체의 상태를 저장하는데 용이
  • 장점 2 : 네트워크로 객체를 전송하는데 용이

 

◎ 역직렬화(Deserialization)

  • 직렬화를 통해 변환된 바이트 형태를 다시 원상태인 객체로 변환시키는 기술을 의미
  • 특정 포맷 상태의 데이터를 다시 객체로 변환하는 것
728x90
반응형

'JAVA' 카테고리의 다른 글

어노테이션(Annotation)  (0) 2020.06.07
자바 가상 기계, JVM(Java Virtual Machine)  (0) 2020.01.29
우선순위 큐(PriorityQueue) compareTo  (0) 2020.01.19
Java vector sort  (0) 2020.01.08