Javaプログラミング能力認定試験2級の過去問に登場する「ExceptionクラスからRuntimeExceptionを継承」という表現は、言語仕様だけでなく日本語としても理解が必要です。この記事では、問題文の意味と正しい解釈方法について解説します。
「AクラスからBクラスを継承している」の日本語表現
プログラミングでは、クラスBを作る際に既存のクラスAを基にする場合、BはAの機能を引き継ぎます。日本語で「AクラスからBクラスを継承している」と書かれると、少し混乱することがあります。
ここでの意味は、「BクラスはAクラスを基に作られている」、すなわち「BはAを継承している」ということです。逆に解釈すると、「Aを継承してBを作っている」と同義です。
問題文での「ExceptionクラスからRuntimeExceptionを継承している」
試験の解答では【b】がException、【c】がRuntimeExceptionとなっています。
「ExceptionクラスからRuntimeExceptionを継承している」という表現は、RuntimeExceptionがExceptionのサブクラスであることを示しています。つまり、RuntimeExceptionはExceptionを継承して作られたクラスです。
文章構造のポイント
日本語としては、「AクラスからBクラスを継承している」は受動的な書き方ですが、プログラミング上の意味は能動的で、「Bクラスを作る際にAクラスを継承した」と同じです。
「BはAを継承している」という理解で正しいので、問題文をそのまま読んでも「RuntimeExceptionはExceptionを継承している」と解釈できます。
まとめ
まとめると、「ExceptionクラスからRuntimeExceptionを継承している」という表現は、RuntimeExceptionはExceptionを基に作られたサブクラスであるという意味です。日本語の表現上「AクラスからBクラスを継承している」と書かれていても、実質的には「Bを作るときにAを継承した」と同じで、受け取り方として問題はありません。
プログラミング能力認定試験のような文章では、てにをはの順序で一瞬混乱しやすいですが、意味としては「BがAを継承している」で正しいです。


コメント