ホーム > システムアーキテクト試験 > 2011年
システムアーキテクト試験 2011年 午前2 問01
UMLを使って図のクラスPを定義した。このクラスの操作のうち、公開可視性(public)をもつものはどれか。

ウ:操作B
ア:全ての操作
イ:操作A(正解)
エ:操作C
解説
UMLクラスの公開可視性(public)を持つ操作はどれか【午前2 解説】
要点まとめ
- 結論:公開可視性(public)を持つ操作は「操作A」のみです。
- 根拠:UMLの可視性記号で「+」はpublic、「-」はprivate、「#」はprotectedを示します。
- 差がつくポイント:可視性記号の意味を正確に理解し、操作のアクセス範囲を判別できることが重要です。
正解の理由
UMLクラス図における操作の可視性は、記号で明示されます。
「+」はpublicで、クラス外部からアクセス可能な操作を示します。
「-」はprivateで、クラス内部のみアクセス可能です。
「#」はprotectedで、サブクラスからアクセス可能ですが外部からは不可です。
問題のクラスPでは「+ 操作A」がpublicであるため、正解はイ: 操作Aです。
「+」はpublicで、クラス外部からアクセス可能な操作を示します。
「-」はprivateで、クラス内部のみアクセス可能です。
「#」はprotectedで、サブクラスからアクセス可能ですが外部からは不可です。
問題のクラスPでは「+ 操作A」がpublicであるため、正解はイ: 操作Aです。
よくある誤解
「+」を単に「操作がある」という意味で捉えたり、「#」や「-」をpublicと混同する誤解が多いです。
可視性記号の意味を正確に覚えることが重要です。
可視性記号の意味を正確に覚えることが重要です。
解法ステップ
- UMLの可視性記号の意味を確認する(+:public、-:private、#:protected)。
- 問題文のクラスPの操作一覧を見て、各操作の可視性記号を読み取る。
- 公開可視性(public)を持つ操作を特定する。
- 選択肢と照合し、該当する操作を選ぶ。
選択肢別の誤答解説
- ア: 全ての操作
→ privateやprotectedの操作も含まれており誤りです。 - イ: 操作A
→ 「+」でpublicを示し正解です。 - ウ: 操作B
→ 「-」はprivateで外部からアクセス不可です。 - エ: 操作C
→ 「#」はprotectedでサブクラス限定のアクセス権です。
補足コラム
UMLの可視性はクラス設計の基本であり、アクセス制御を明確にするために重要です。
publicは外部から自由に使える操作、privateは内部専用、protectedは継承関係にあるクラスからのみアクセス可能です。
これらの理解はオブジェクト指向設計やプログラミング言語のアクセス修飾子の理解にも直結します。
publicは外部から自由に使える操作、privateは内部専用、protectedは継承関係にあるクラスからのみアクセス可能です。
これらの理解はオブジェクト指向設計やプログラミング言語のアクセス修飾子の理解にも直結します。
FAQ
Q: UMLの可視性記号は他にどんなものがありますか?
A: 「+」がpublic、「-」がprivate、「#」がprotected、「~」がpackage(同一パッケージ内)を示します。
A: 「+」がpublic、「-」がprivate、「#」がprotected、「~」がpackage(同一パッケージ内)を示します。
Q: protectedの操作はどこからアクセス可能ですか?
A: 同じクラス、サブクラス、および同一パッケージ内のクラスからアクセス可能です。
A: 同じクラス、サブクラス、および同一パッケージ内のクラスからアクセス可能です。
関連キーワード: UML, クラス図, 可視性, public, private, protected, オブジェクト指向, アクセス修飾子