ppobbi-study / CS_Study_Hub

CS 스터디 레포입니다.
3 stars 6 forks source link

자바의 직렬화와 역직렬화에 대해 설명해주세요 #80

Open freakFlow opened 5 months ago

SunheeYoon96 commented 5 months ago

답변

freakFlow commented 5 months ago

답변

직렬화는 자바에서 사용하는 객체를 외부에서도 사용할 수 있게 데이터 스트림 형태로 변환하는 작업이고, 역직렬화는 그렇게 변환된 데이터 스트림의 형태를 다시 자바 객체로 변환하는 작업입니다. 자바에서는 직렬화를 사용하기 위해서는 Serializable 인터페이스를 구현하면 됩니다. 직렬화의 장점으로는 추가적인 라이브러리 설치 없이 자바 객체를 외부와 공유할 수 있지만, 용량이 비교적 크고 변경이 되었을 때 역직렬화가 불가능한 단점이 있습니다.

kimmainsain commented 5 months ago

답변

const obj = {
  name: "minsup",
  age: 24
};

const myJSON = JSON.stringify(obj); // 객체를 JSON 문자열로 직렬화
console.log(myJSON); // {"name":"minsup","age":24}

const obj = JSON.parse(myJSON); // JSON 문자열을 객체로 역직렬화
Seobway23 commented 5 months ago

Serialization

데이터의 구조나 객체 상태를 저장하거나 전송 가능한 형식으로 변환하는 과정입니다.

Deserialization

직렬화의 반대과정으로 데이터 구조나 객체의 상태로 변환환하는 과정입니다.