014-008-011
clone()と深いコピーの実装
上級
問題説明
clone()と深いコピーの実装
この問題では: 配列フィールドを持つScoreBoardクラスでObjectクラスのclone()メソッドを実装し、深いコピー(ディープコピー)を実現するプログラムを作成します。
学習目標: 浅いコピーと深いコピーの違いを理解し、配列を含むオブジェクトの正しいクローンを実装する
概要
clone()をオーバーライドする際、参照型フィールド(配列など)は浅いコピーでは元オブジェクトと同じ配列を参照します。深いコピーでは配列自体も新しくコピーし、独立したオブジェクトを作成します。
仕様
ScoreBoardクラス:name(String)、scores(int[])フィールドCloneableインターフェースを実装clone()をオーバーライドし、scoresの深いコピーを行う- 元のオブジェクトとクローンのscoresが独立していることを確認
出力形式
Original: Alice [90, 85, 92]
Clone: Alice [90, 85, 92]
After modification:
Original: Alice [90, 85, 92]
Clone: Alice [90, 100, 92]
