C#에서 Clone() 메서드는 기존에 존재하는 배열을 복제하여 동일한 요소를 가진 새로운 배열을 생성할 때 사용됩니다. 이 메서드는 Array 클래스에 정의되어 있으며, 얕은 복사(shallow copy) 방식으로 동작합니다.
1. 복제할 배열 준비하기
먼저 복제할 원본 배열을 선언합니다.
string[] arr = { "Web", "World"};2. Clone() 메서드로 배열 복제하기
Clone() 메서드는 반환 타입이 object이므로, as 연산자를 사용하여 문자열 배열로 형 변환해야 합니다.
string[] arrClone = arr.Clone() as string[];
전체 예제 코드
지금까지의 내용을 하나의 완성된 프로그램으로 살펴보겠습니다.
using System;
class Program {
static void Main() {
string[] arr = { "Web", "World"};
Console.WriteLine(string.Join(",", arr));
string[] arrClone = arr.Clone() as string[];
Console.WriteLine(string.Join(",", arrClone));
}
}실행 결과
Web,World Web,World
Clone() 메서드의 주요 특징
- 얕은 복사: 배열 구조 자체는 새로 생성되지만, 요소가 참조 타입일 경우 내부 객체는 원본과 참조를 공유합니다.
- 형 변환 필요: 반환 타입이
object이므로as연산자나 명시적 캐스팅을 통해 원래 배열 타입으로 변환해야 합니다. - 독립적인 배열: 복제된 배열은 원본과 별개의 배열 인스턴스이므로, 한쪽의 요소 교체나 재할당이 다른 쪽에 영향을 주지 않습니다.
이처럼 Clone() 메서드를 활용하면 간단한 한 줄의 코드로 기존 배열을 손쉽게 복제할 수 있습니다.