問題
オブジェクト指向プログラミングの特徴である「カプセル化」の説明として、最も適切なものはどれか。
選択肢
- 1データとそのデータを操作するメソッドを一つにまとめ、外部から直接アクセスできないようにすること
- 2親クラスの属性やメソッドを子クラスが引き継ぐこと
- 3同じ名前のメソッドでも引数の型や数によって異なる動作をすること
- 4複数のクラスから共通する属性を抽出して抽象クラスを作ること
正解
1. データとそのデータを操作するメソッドを一つにまとめ、外部から直接アクセスできないようにすること
詳しい解説を見る解説を閉じる
解説
カプセル化は、データ(属性)とそれを操作するメソッドを一つのオブジェクトにまとめ、内部の実装を隠蔽して外部からは公開されたメソッド経由でのみアクセスさせる仕組みである。これによりデータの不正な書き換えを防ぎ、内部変更の影響を局所化できる。よって「データとそのデータを操作するメソッドを一つにまとめ…」が正解である。親クラスの属性・メソッドを子クラスが引き継ぐのは継承、同名メソッドが引数等により異なる動作をするのは多態性(ポリモーフィズム)、共通属性を抽出して抽象クラスを作るのは汎化・抽象化の説明である。カプセル化・継承・多態性はオブジェクト指向の三大特徴として頻出であり、それぞれの定義を対応付けて覚えたい。
一問一答
全200問を繰り返し学習