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