패키지flash.net
클래스public final class ObjectEncoding
상속ObjectEncoding Inheritance Object

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0 Flash Player 9

ObjectEncoding 클래스는 FileStream, NetStream, NetConnection, SharedObject 및 ByteArray와 같은 객체를 직렬화하여 이전 버전의 ActionScript를 사용할 수 있도록 하는 클래스의 직렬화 설정을 정의하는 데 사용됩니다.

객체 인코딩은 객체가 AMF(Action Message Format)에서 표현되는 방식을 제어합니다. Flash Player는 응용 프로그램과 원격 서버 간의 효율적인 통신을 위해 AMF를 사용합니다. AMF는 원격 프로시저 호출을 압축된 이진 표현으로 인코딩하여 Flash Media Server에서 사용되는 HTTP/HTTPS 또는 RTMP/RTMPS 프로토콜을 통해 전송될 수 있도록 합니다. 객체 및 데이터 값은 이진 포맷으로 직렬화됩니다. 이것은 일반적으로 XML 등과 같은 표현보다 더 압축된 포맷입니다.

Adobe AIR와 Flash Player 9는 AMF3 및 AMF0의 두 가지 다른 포맷으로 직렬화할 수 있습니다. AMF3은 ActionScript 3.0에서 사용되는 기본 직렬화로 ActionScript 1.0 및 2.0에서 사용되는 AMF0보다 다양한 장점을 제공합니다. AMF3은 네트워크를 통해 AMF0보다 더 효율적으로 데이트를 전송합니다. 또한, intuint 객체를 정수로 전송하는 것을 지원하며, ByteArray, XML 및 IExternalizable 등 ActionScript 3.0에서만 사용 가능한 데이터 유형을 지원합니다. 이것은 ActionScript 3.0 및 Flex 2와 같은 AMF3 인코딩을 사용하는 서버에서만 사용할 수 있습니다.

ByteArray, FileStream, NetConnection, NetStream, SharedObject, Socket 및 URLStream 클래스에는 ObjectEncoding 클래스로부터 상수가 할당되는 objectEncoding 속성이 포함되어 있습니다. objectEncoding 속성의 비헤이비어는 객체에 따라 달라집니다. 각 클래스의 objectEncoding 속성 설명에서 비헤이비어에 대한 보다 자세한 내용을 확인할 수 있습니다.



Public 속성
 속성다음에 의해 정의됨
 Inheritedconstructor : Object
지정된 객체 인스턴스의 클래스 객체 또는 생성자 함수에 대한 참조입니다.
Object
  dynamicPropertyWriter : IDynamicPropertyWriter
[정적] 동적 객체의 동적 속성에 대한 직렬화의 제어 범위를 넓혀 줍니다.
ObjectEncoding
 Inheritedprototype : Object
[정적] 클래스 또는 함수 객체의 프로토타입 객체에 대한 참조입니다.
Object
Public 메서드
 메서드다음에 의해 정의됨
 Inherited
지정된 속성이 객체에 정의되어 있는지 여부를 나타냅니다.
Object
 Inherited
Object 클래스의 인스턴스가 매개 변수로 지정된 객체의 프로토타입 체인에 있는지 여부를 나타냅니다.
Object
 Inherited
지정된 속성이 존재하고 열거 가능한지 여부를 나타냅니다.
Object
 Inherited
루프 작업에서 동적 속성을 사용할 수 있는지 여부를 설정합니다.
Object
 Inherited
지정된 객체의 문자열 표현을 반환합니다.
Object
 Inherited
지정된 객체의 프리미티브 값을 반환합니다.
Object
Public 상수
 상수다음에 의해 정의됨
  AMF0 : uint = 0
[정적] ActionScript 1.0 및 2.0용 AMF를 사용하여 객체를 직렬화하도록 지정합니다.
ObjectEncoding
  AMF3 : uint = 3
[정적] ActionScript 3.0용 AMF를 사용하여 객체를 직렬화하도록 지정합니다.
ObjectEncoding
  DEFAULT : uint = 3
[정적] 현재 런타임(Flash® Player 또는 Adobe® AIR™)에 대한 기본(최신) 포맷을 지정합니다.
ObjectEncoding
속성 정보
dynamicPropertyWriter속성
dynamicPropertyWriter:IDynamicPropertyWriter  [읽기/쓰기]

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0 Flash Player 9

동적 객체의 동적 속성에 대한 직렬화의 제어 범위를 넓혀 줍니다. 이 속성이 기본값인 null로 설정되면, 동적 속성은 기본 코드를 사용하여 직렬화됩니다. 이 경우 값이 함수인 것을 제외하고는 모든 동적 속성이 직렬화됩니다.

이 값은 동적 객체(동적 클래스 내에 선언된 객체)나 new 연산자를 사용하여 선언된 객체의 속성에 대해서만 호출됩니다.

이 속성을 사용하여 직렬화에서 동적 객체의 속성을 제외하고, 동적 객체의 속성에 값을 기록하거나 동적 객체의 새 속성을 만들 수 있습니다. 이렇게 하려면 이 속성을 IDynamicPropertyWriter 인터페이스를 구현하는 객체로 설정해야 합니다. 자세한 내용은 IDynamicPropertyWriter 인터페이스를 참조하십시오.



구현
    public static function get dynamicPropertyWriter():IDynamicPropertyWriter
    public function set dynamicPropertyWriter(value:IDynamicPropertyWriter):void

참고 사항

상수 정보
AMF0상수
public static const AMF0:uint = 0

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0 Flash Player 9

ActionScript 1.0 및 2.0용 AMF를 사용하여 객체를 직렬화하도록 지정합니다.

AMF3상수 
public static const AMF3:uint = 3

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0 Flash Player 9

ActionScript 3.0용 AMF를 사용하여 객체를 직렬화하도록 지정합니다.

DEFAULT상수 
public static const DEFAULT:uint = 3

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0 Flash Player 9

현재 런타임(Flash® Player 또는 Adobe® AIR™)에 대한 기본(최신) 포맷을 지정합니다. 객체 인코딩 컨트롤은 Flash Player 9 이상 및 Adobe AIR에서만 사용할 수 있기 때문에 사용되는 가장 빠른 버전의 포맷은 ActionScript 3.0용 AMF입니다.

예를 들어 객체의 objectEncoding 속성을 ObjectEncoding.DEFAULT로 설정하면 AMF3 인코딩이 사용됩니다. 향후 Flash Player 또는 Adobe AIR 이후 버전에 새로운 AMF 버전이 추가되고 내용을 다시 제작하게 되는 경우 응용 프로그램은 새로운 AMF 버전을 사용하게 됩니다. 이전 버전과의 호환성에 대한 염려가 전혀 없을 경우에만 이 상수를 사용할 수 있습니다.