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]

コードを実行してみませんか?

この問題のコードエディタと実行機能を使用するには、ログインしてください。

アカウントをお持ちでない方

新規登録