通常、Object#clone() で複製を作ると、それは浅いコピーとなり、
そのオブジェクトの持つ参照まではコピーされず、同一の参照を
コピー元とコピー先とで共有する事になります。

で、ある抽象クラスのその派生クラス(具現クラス)にて、深いコピーを
自分で実装しようと思ったとき、抽象クラスと派生クラスとで内容が
全く変わらない場合、抽象クラスの方にclone()メソッドを実装したいと
思いますが、この場合、皆さんならどうしますか?
僕は通常、深いコピーを作成する場合にはclone()メソッドの中で
コンストラクタを呼んだりしているのですが、抽象クラスの場合には
コンストラクタを呼ぶことが出来ません。
この場合は、派生クラスの方でclone()メソッドを実装するしか無い
のでしょうか?