Mac OS X や iPhone プログラミングで、NSString や NSArray, NSDictionary といった一般的なクラスには copy メソッドが実装されていて、インスタンスの複製を行うことが出来るようになっています。 もっとも、NSDictionary や NSArray といった copy メソッドでは、"シャローコピー" といって、保持しているインスタンスを retain で複製する方式がとられるようなので、コピー後にもとになった配列の要素値を変更したりするとコピー先も変更されたりするため、コピーの感覚が思っているものと少し違うかもしれません。 一般的な感覚では、copy というのはすなわち、各インスタンスの複製をとる "ディープコピー" が自然な挙動に思えます。 コピーの際の挙動はともかくとして、独自に実装したクラスでも NSCopying インターフェイスを