And Brain said,
직렬화(Serialization), 데이터의 연속된 기호화 본문
반응형
직렬화와 역직렬화는 객체 데이터의 상태 그대로 저장하고 필요할 때 다시 꺼내서 사용하기 위해 쓰인다.
먼저 직렬화는 객체 데이터를 바이트 스트림으로 바꾸어 연속적인 데이터로 변환하는 것이다.
역직렬화는 그 반대로 바이트 스트림을 꺼내와 저장된 데이터의 상태 그대로 변환해주는 것을 말한다.
직렬화로 변환된 바이트 스트림은 플랫폼에 종속되지 않는 멀티플랫폼에서 역직렬화가 가능한 데이터다.
자바에서는 모든 클래스를 직렬화할 수는 없고
이렇게 Serializable 인터페이스만 구현해주면 직렬화와 역직렬화가 가능해진다.
또한 serialVersionUID 고유값을 주어 역직렬화 시에 같은 클래스인지 일치 여부를 확인한다.
만약 커스텀하게 주지않는다면 직렬화 시 자동 생성되어 직렬화 데이터에 포함된다.
하지만 직렬화는 보안 상 취약하다는 크나큰 단점이 있어 자주 사용되지는 않는 편이므로 긴 시간 저장해야하는 데이터들은 직렬화를 사용하지않도록 하자.
Thanks for watching, Have a nice day.
References
https://medium.com/@lunay0ung/basics-직렬화-serialization-란-feat-java-2f3eb11e9a8
반응형
'IT > Java & Kotlin & Spring boot' 카테고리의 다른 글
Spring boot Profile, 천의 얼굴을 가진 프로젝트 (0) | 2023.03.07 |
---|---|
Kotlin, The Evolution of Java (+ MSA with Spring boot) (0) | 2023.02.19 |
Spring boot에서 Gson과 Swagger 동시 설정하기 (0) | 2023.01.24 |
FCM(Firebase Cloud Messaging) Server, 플랫폼을 가리지 않는 우체국 (0) | 2022.12.09 |
Netflix의 Eureka, Service Discovery의 시작 (3) | 2022.11.13 |
Comments