Kodrill

Java SE Bronze (1Z0-818-JPN) 試験 / オブジェクト指向の概念 ・ 無料問題 4/5

オブジェクト指向の概念 問題4[データ隠蔽とカプセル化]

次のコードを実行したときの出力を選んでください。

Main.java
class Account {    private int balance;​    public void deposit(int amount) {        if (amount > 0) {            balance += amount;        }    }​    public int getBalance() {        return balance;    }}​public class Main {    public static void main(String[] args) {        Account acc = new Account();        acc.deposit(1000);        acc.deposit(-500);        System.out.println(acc.getBalance());    }}

選択肢

  • A.500
  • B.コンパイルエラー
  • C.-500
  • D.1000正解

解説実行して確認済み

balance は private なので外部から直接変更できず、deposit メソッドを通してのみ変更されます。deposit は0以下の金額を無視するため、-500 の入金は反映されず残高は1000です。このように、メソッド内で値の妥当性を検査できることがカプセル化の利点です。

この問題の答えは、試験の対象バージョンでコードを実際に実行して確かめています。確かめ方は運営者情報に書いています。

「オブジェクト指向の概念」の要点を解説記事で読む

「オブジェクト指向の概念」の無料問題

ここで公開しているのは無料範囲の問題です。無料登録すると、解答の記録・ダッシュボードでの復習ができ、 プレミアムならこの問題セットの全問題と本番形式の模擬試験も解けます。