スコープ 【scope】
プログラム中で定義された変数や定数、関数などを参照・利用できる有効範囲を表し、多くの言語では変数名などの宣言や定義が記述されている位置によって決定される。
スコープの種類や分類は言語仕様によって様々だが、古くからある手続き型の言語では、ある関数や手続き、ループなどのコードブロック中で宣言された変数などはその中からしか参照できないようになっており、これを「ローカルスコープ」(局所スコープ)という。一方、プログラム冒頭などすべてのブロックの外で宣言されたシンボルはプログラム全体を通じて有効であり、「グローバルスコープ」(大域スコープ)という。
オブジェクト指向言語では、あるインスタンスの内部でしか通用しないことを「インスタンススコープ」、クラス全体から参照可能なことを「クラススコープ」などと分類する場合がある。
また、プログラムのソースコードに記述されたブロックなどの包含関係(入れ子構造)に従ってスコープが決定される方式を「レキシカルスコープ」(静的スコープ)、実行時の関数などの呼び出し元、呼び出し先の関係に基づいてを動的に決定する方式を「ダイナミックスコープ」(動的スコープ)という。
(2018.4.4更新)