Javaのオブジェクトはcloneメソッドでオブジェクトの複製を作ることができ ます。 cloneメソッドによるオブジェクトの複製はオブジェクト変数をそのままコピー することで行われます。 intやdoubleなどの組込み型は値として格納されているので、完全にコピーさ れるのですが、オブジェクト変数は参照がコピーされるため、複製元と複製先 のオブジェクト間で、共通のオブジェクトを参照することになります。 このような複写の方法をシャローコピー(shallow copy)と呼びます。 つまりJavaのオブジェクトのcloneメソッドのデフォルトのセマンティクスは シャローコピーというわけです。 たとえば以下のPersonオブジェクトに対してcloneを行うとシャローコピーが 行われ、クローン元のPersonオブジェクトとクローン先のPersonオブジェクト 間でStringオブジェクトが共有さ