.NET의 SerializationSerialization in .NET

serialization은 지속시키거나 전송할 수 있는 형태로 개체 상태를 변환하는 프로세스입니다.Serialization is the process of converting the state of an object into a form that can be persisted or transported. serialization과 짝을 이루는 것은 스트림을 개체로 변환하는 deserialization입니다.The complement of serialization is deserialization, which converts a stream into an object. 이러한 프로세스를 함께 사용 하면 데이터를 저장 하 고 전송할 수 있습니다.Together, these processes allow data to be stored and transferred.

.NET은 다음과 같은 serialization 기술을 제공 합니다..NET features the following serialization technologies:

  • 이진 serialization 은 응용 프로그램의 여러 호출 간에 개체 상태를 유지 하는 데 유용한 형식 충실도를 유지 합니다.Binary serialization preserves type fidelity, which is useful for preserving the state of an object between different invocations of an application. 예를 들어, 개체를 클립보드로 serialize하면 여러 애플리케이션 간에 개체를 공유할 수 있습니다.For example, you can share an object between different applications by serializing it to the Clipboard. 개체를 스트림, 디스크, 메모리, 네트워크 등으로 serialize할 수 있습니다.You can serialize an object to a stream, to a disk, to memory, over the network, and so forth. Remoting에서는 serialization을 사용하여 한 컴퓨터 또는 애플리케이션 도메인의 개체를 다른 컴퓨터 또는 애플리케이션 도메인으로 "값으로" 전달합니다.Remoting uses serialization to pass objects "by value" from one computer or application domain to another.

  • XML 및 SOAP serialization 은 public 속성과 필드만 serialize 하며 형식 충실도를 유지 하지 않습니다.XML and SOAP serialization serializes only public properties and fields and does not preserve type fidelity. 데이터를 사용하는 애플리케이션을 제한하지 않고 데이터를 제공하거나 사용하려고 할 때 유용합니다.This is useful when you want to provide or consume data without restricting the application that uses the data. XML은 공개 표준이기 때문에 웹을 통해 정보를 공유할 때 적합합니다.Because XML is an open standard, it is an attractive choice for sharing data across the Web. SOAP도 마찬가지로 공개 표준이어서 적합한 선택입니다.SOAP is likewise an open standard, which makes it an attractive choice.

  • JSON serialization 은 public 속성만 serialize 하며 형식 충실도를 유지 하지 않습니다.JSON serialization serializes only public properties and does not preserve type fidelity. JSON은 웹을 통해 데이터를 공유 하는 데 적합 한 개방형 표준입니다.JSON is an open standard that is an attractive choice for sharing data across the web.

참조Reference

System.Runtime.Serialization
개체를 serialize하거나 deserialize하는 데 사용할 수 있는 클래스를 포함합니다.Contains classes that can be used for serializing and deserializing objects.

System.Xml.Serialization
개체를 XML 형식 문서 또는 스트림으로 serialize하는 데 사용할 수 있는 클래스를 포함합니다.Contains classes that can be used to serialize objects into XML format documents or streams.

System.Text.Json
개체를 JSON 형식 문서 또는 스트림으로 serialize 하는 데 사용할 수 있는 클래스를 포함 합니다.Contains classes that can be used to serialize objects into JSON format documents or streams.