リユーザブル【reusable】再使用可能/再利用可能
概要

一般的な外来語としては、医療器具や食器、容器などが単回使用を前提とせず、洗浄・整備を経て繰り返し利用できる構造・素材で作られていることを意味する。環境負荷の低減や資源の有効活用を目的として、使い捨て製品に代わるリユーザブル製品が様々な分野で普及している。
リユーザブルなプログラム
ソフトウェアやプログラミングの分野では、メインメモリに読み込まれ実行されたプログラムを、再度ロードすることなく先頭から実行し直せる性質を指す。これが成立するには、実行中に自らのコードを書き換えないこと、および内部状態を表す変数を変更したまま終了しないことが条件となる。初期のコンピュータではメモリ容量が限られており、一度読み込んだプログラムを繰り返し利用できることがシステム資源の節約に直結していた。
リユーザブルなプログラムは、並行して実行できるかどうかによってさらに区別される。実行が終了してから次の実行を行う設計を「シリアルリユーザブル」(serial reusable:逐次再使用可能)と言い、実行が終了する前に別のプログラムから同一のプログラムを呼び出して並行して実行できる性質を「リエントラント」(reentrant:再入可能)という。
リエントラントなプログラムは各呼び出しの実行状態やローカル変数を完全に分離して管理することで実現され、シリアルリユーザブルより厳しい条件を満たしている。マルチタスク環境やWebサーバの共有ライブラリなど、複数の処理から同時に呼び出される場面ではリエントラント性が求められる。
現代のソフトウェア開発では、プログラム全体だけでなく、関数やクラス、ライブラリ、APIなどの部品単位で他のシステムやプロジェクトから再利用できるよう設計することもリユーザブルと表現する場合もある。主にモジュール化(部品化)によって実現され、開発効率や保守性を向上する手段としてリユーザブル性が重視される。