ラッパークラス【wrapper class】ラッパーオブジェクト/wrapper object

概要

ラッパークラスとは、オブジェクト指向プログラミングにおいて、他のクラスや本来オブジェクトではない要素をクラスとして包み込み、外部に対して別のインターフェースを提供する仕組み。“wrapper” は「包むもの」を意味し、内部の対象を覆い隠しながら操作方法を整える。
ラッパークラスのイメージ画像

代表的な用途の一つが、基本データ型プリミティブ型)のオブジェクト化である。例えば、Javaでは「int」や「double」といった基本型はオブジェクトではないため、リストやマップなどオブジェクトを前提とする仕組みに組み込めない。

そこで、「Integer」や「Double」といったラッパークラスが用意されており、基本型の値をオブジェクトとして扱えるようになっている。文字列への変換や文字列からの数値取り出しといった操作も、ラッパークラスを通じて行うことができる。

既存のコードを変更できない場面でも活用される。外部ライブラリや古いシステムのコードは直接呼び出せないことがあるが、ラッパークラスを介在させることで利用できるようになる。その際、複雑な仕様や設定を隠蔽してシンプルな操作だけを公開したり、別の機能を追加したりすることもある。互換性の維持にも使われ、古い呼び出し方を受け付けながら内部では新しい処理へ変換するラッパークラスが用意されることがある。

セキュリティや安全性を高める目的でも用いられる。入力内容の検証や不正操作の制限、エラー発生時の共通処理の追加といった機能をラッパークラス側に持たせることで、元のコードを変えずに安全性を補強できる。設計パターンの観点では、機能を動的に追加する「Decoratorパターン」や、互換性のないインターフェースをつなぐ「Adapterパターン」の実装手段としても使われる。

(2026.5.8更新)
 

他の辞典等による「ラッパークラス」の解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。