戦国IT - 情報処理技術者試験の過去問対策サイト
ブログお知らせお問い合わせ料金プラン

基本情報技術者 2015年 春期 午前(科目A)08


問題文

Javaにおいて、よく使われる機能などを再利用できるようにコンポーネント化するための仕様はどれか。

選択肢

JavaBeans(正解)
JavaScript
Javaアプリケーション
Javaアプレット

🔒 解説は解答すると表示されます

JavaBeansコンポーネント仕様【午前解説】

正解の理由

JavaBeansは「再利用可能なソフトウェアコンポーネント」を定義するためのJavaプラットフォーム上の仕様です。
主な特徴として、プロパティを表す getter/setter パターン、イベント発行の仕組み、デザイナーから扱いやすくするためのイントロスペクション、永続化のためのシリアライズ対応などを規定しています。
これにより、ビジュアルツールやフレームワークがコンポーネントを自動的に組み合わせて利用できるため、設問の「よく使われる機能などを再利用できるようにコンポーネント化するための仕様」に最も合致します。

解法ステップ

  1. 問題文のキーワード「再利用」「コンポーネント化」「仕様」を確認する。
  2. 選択肢を見て「コンポーネント仕様」を提供するものを探す。
  3. 各選択肢の役割を判定:JavaBeans(コンポーネント仕様)、JavaScript(言語)、Javaアプリケーション(実行形態)、Javaアプレット(ブラウザ用実行形態)。
  4. 最も仕様に該当するを選ぶ。

選択肢別の誤答解説

  • ア: JavaBeans — 正解。プロパティ(getter/setter)、イベント、シリアライズ、イントロスペクション等により再利用可能なコンポーネントを定義する仕様です。
  • イ: JavaScript — 誤り。クライアント/サーバ両方で使われるスクリプト言語であり、Javaのコンポーネント仕様ではありません。
  • ウ: Javaアプリケーション — 誤り。単にJavaで作られた独立実行プログラムで、コンポーネント仕様そのものを指す言葉ではありません。
  • エ: Javaアプレット — 誤り。かつてブラウザ上で実行する小さなアプリケーションの形式で、コンポーネント仕様とは異なります。

よくある誤解

  • Javaアプレットと混同する:アプレットはブラウザ上で動く小さいアプリで、コンポーネント仕様そのものではありません。
  • JavaBeansは単なるクラス=POJOと考える:単なるPOJOと似ますが、プロパティ命名規約やシリアライズ、イベントなど設計上の規約がポイントです。
  • 「JavaScriptもコンポーネント」と考える:フロントエンドのコンポーネント概念とは別領域で、言語そのものは仕様ではありません。

補足コラム

簡単なJavaBeanの例を示します。ポイントは無引数コンストラクタ、プロパティのgetter/setter、Serializableの実装などです。
import java.io.Serializable;
import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeSupport;

public class PersonBean implements Serializable {
    private String name;
    private final PropertyChangeSupport pcs = new PropertyChangeSupport(this);

    public PersonBean() {} // 無引数コンストラクタが望ましい

    public String getName() { return name; }
    public void setName(String name) {
        String old = this.name;
        this.name = name;
        pcs.firePropertyChange("name", old, name); // イベント通知
    }

    public void addPropertyChangeListener(PropertyChangeListener l) {
        pcs.addPropertyChangeListener(l);
    }
    public void removePropertyChangeListener(PropertyChangeListener l) {
        pcs.removePropertyChangeListener(l);
    }
}
このようにJavaBeansは「設計規約」として、ツールやフレームワークが扱いやすいコンポーネントを実現します。

FAQ

Q1: JavaBeanは必ずSerializableを実装しなければなりませんか?
A1: 厳密な必須ではありませんが、永続化(シリアライズ)をサポートするために実装することが一般的です。
Q2: POJOとJavaBeanの違いは何ですか?
A2: POJOは「プレーンな」Javaオブジェクトの総称です。JavaBeanはPOJOのうち、プロパティ命名規約や無引数コンストラクタ、イベント・シリアライズ等の仕様に従ったものを指します。
Q3: 現代のJava開発でJavaBeansは使われますか?
A3: はい。古典的なGUIビルダや一部フレームワーク、設定オブジェクトなどで概念は今も利用されます。ただし、単にPOJOやアノテーションベースの構成が好まれる場面もあります。

関連キーワード: Java、JavaBeans、コンポーネント化、プロパティ、イベント、シリアライズ、イントロスペクション、POJO、デザインタイム-tools
← 前の問題へこの年度をクイズで解く次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

基本情報技術者
クイズ形式で学習しませんか?

クイズ画面へ遷移する

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてブログプライバシーポリシー利用規約特商法表記開発者について