基本情報 平成22年度 春期 問8:テクノロジ系に関する問題
java のプログラムにおいて, よく使われる機能などを部品化し, 再利用できるよう にコンボーネント化するための仕様はどれか。
- aJavaBeans正答
- bTavaScript
- cJavaアプリケーション
- dJava アプレット
AI解説(初心者・標準・上級)
理解度に合わせて3レベルの解説を無料で読めます。
答えは a「JavaBeans」 です。
JavaBeansは「プログラムの部品(コンポーネント)化のルール」。「よく使う機能をパーツとして作って、何度でも別のプログラムで使い回せるようにしよう」という考え方。
プラモデルのパーツみたいに「決まった形」を満たせば、他のプログラムにポン付けできる。
👉 覚え方:JavaBeans=「Java製の再利用パーツ」。
ほかの選択肢:b JavaScript=Webブラウザで動く別言語/c Javaアプリケーション=ふつうのJavaプログラム/d Javaアプレット=Webブラウザで動かす昔のJavaプログラム(今は廃止)。どれもコンポーネント化の仕様ではない。
なぜこれが正解か
正解は a。JavaBeansは、Javaのクラスを「再利用可能なコンポーネント」として扱うための規約(仕様)。条件は (1) 引数なしのpublicコンストラクタを持つ、(2) プロパティのアクセスはgetter/setter(getXxx/setXxx)でする、(3) Serializableを実装する(永続化対応)。これにより、GUIビルダ等のツールがクラスを動的に組み合わせて使える。
各選択肢の解説
- b JavaScript:JavaとほぼJava無関係の別言語。Webブラウザで動的スクリプトを実行。
- c Javaアプリケーション:mainメソッドから起動する一般的なJavaプログラム。コンポーネント仕様ではない。
- d Javaアプレット:Webブラウザ内で動作する小さなJavaプログラム。現在は廃止(Java 11で削除)。
覚え方・ひっかけ注意
Java系用語の整理:JavaBeans(再利用部品)/EJB(Enterprise JavaBeans、サーバサイドコンポーネント)/JavaServer Pages(JSP、サーバサイドHTML生成)/Servlet(サーバサイドJavaクラス)/Java EE(現Jakarta EE、エンタープライズ仕様群)。「Beans=部品」と語感で覚える。
理論的背景
JavaBeans仕様(1996年〜)は再利用可能ソフトウェアコンポーネントモデルとして設計された。POJO(Plain Old Java Object)+規約により、リフレクションAPI(java.beans.Introspector)でプロパティを動的発見でき、ビジュアル開発ツール(IBM VisualAge for Java、JBuilder等)でドラッグ&ドロップ開発を可能にした。Java Beans Specificationは7部構成:(1) Properties、(2) Methods、(3) Events、(4) Introspection、(5) Customization、(6) Persistence、(7) Packaging。PropertyChangeListenerによる変更通知、EventListenerによる疎結合イベント駆動はObserverパターンのJava実装。
実務での使われ方
サーバサイドの拡張版EJB(Enterprise JavaBeans、現Jakarta Enterprise Beans)はトランザクション・セキュリティ・分散処理を提供する重量級コンポーネント。Session Bean(Stateful/Stateless)、Entity Bean(→JPAに置換)、Message-Driven Beanの3種。EJBの複雑性反動でSpring Framework(DI、AOP)とJava EE5以降の軽量化(CDI: Contexts and Dependency Injection、JAX-RS、JPA)が主流化。Spring Boot(自動設定、組込みTomcat、12-Factor App対応)は現代のJavaサーバサイド開発の標準。Reactive Programming(Project Reactor、RxJava)、関数型Java(StreamAPI、Optional)、Kotlin/Scalaへの広がりも実務トレンド。
試験での位置づけ
FE科目AでJava関連用語の識別問題が頻出。応用情報・システムアーキテクトではJ2EE/Jakarta EE基本仕様、Spring/Spring Bootアーキテクチャ、マイクロサービス、DDD(Domain-Driven Design)が問われる。情報処理安全確保支援士ではJavaセキュリティ(CWE、Log4Shell:Log4j脆弱性のような著名事例)が頻出。
選択肢の発展補足
関連コンポーネント技術:OSGi(モジュラJava、Eclipse・IntelliJのプラグイン基盤)/JigSaw/JPMS(Java 9〜、モジュールシステム)/GraalVM Native Image(AOTコンパイル、起動時間とメモリ削減)/Quarkus・Micronaut(クラウドネイティブJavaフレームワーク)。Project Loom(Virtual Threads、Java 21 LTS)は軽量スレッドでJavaの並行プログラミングを革新した近年最重要のトピック。Java Module SystemでEJB時代のJAR Hellを解消。クラウドネイティブ志向でSpring Native、Helidon等のフレームワーク選択肢が拡大中。OSSライセンス・OpenJDKディストリビューション(Eclipse Temurin、Amazon Corretto、Azul Zulu)の選定もエンタープライズの実務論点。
出典:IPA(情報処理推進機構)公式 基本情報技術者試験 平成22年度 春期 問8/ 公的機関配布資料につき出典明記の上引用。解説は合格ナビによる独自AI解説です。