[AS3.0] 객체 복사.( ObjectUtil )


아래의 예제는 객체의 데이터를 복사하는게 아니라 객체가 가지고 있는 주소값을 넘겨준다.
 
  
var a1:ArrayCollection = new ArrayCollection();
a1.addItem(new Object());
a1.addItem(new Object());
var a2:ArrayCollection = new ArrayCollection();
a2 = a1;

주소값이 아닌 객체를 복사하기위해 Flex API에서는 ObjectUtil클래스에 copy() 메소드가 존재한다.
객체를 복사할 때에는 이 메소드를 사용해보자.


ObjectUtil.copy() 를 이용한 복사
var a1:ArrayCollection = new ArrayCollection();
a1.addItem(new Object());
a1.addItem(new Object());
var a2:ArrayCollection ;
a2 = (ObjectUtil.Copy(a1) as ArrayCollection);

mx.utils.ObjectUtil.copy() 소스는 다음과 같습니다.

var buffer:ByteArray = new ByteArray();
buffer.writeObject(value);
buffer.position = 0;
var result:Object = buffer.readObject();
return result;