개체 복사본을 만들기 위해 클래스를 복제해야 하는 경우 이 인터페이스를 구현한다.
인터페이스에는 개체의 새 인스턴스를 반환해야 하는 Clone() 메서드의 구현이 필요하다.
public class MyCloneable : ICloneable
{
private int value;
public MyCloneable(int value)
{
this.value = value;
}
public object Clone()
{
return new MyCloneable(value);
}
}
이 예에서 MyCloneable 클래스는 복제할 수 있도록 ICloneable 인터페이스를 구현합니다.
Clone 메서드는 개체의 새 인스턴스를 반환합니다.