グローバルスコープ【global scope】大域スコープ

概要

グローバルスコープとは、プログラム内で宣言された変数や関数などの識別子が、プログラム全体のどこからでも参照できる有効範囲のこと。そのような変数のことは「グローバル変数」(global variable)あるいは「大域変数」と呼ばれ、プログラム全体で共有されるデータとして扱われる。
グローバルスコープのイメージ画像

多くのプログラミング言語では、関数やクラスなどのコードブロックの外側、すなわち最上位の領域で宣言された変数や定数がグローバルスコープに属する。これらの識別子はプログラム内の任意のコードから同一のものとして参照できるため、複数の処理で共通して利用する設定値や定数、共有データなどを保持する目的で利用されることがある。また、グローバルスコープに定義された関数なども同様に、プログラム全体から呼び出し可能な要素として扱われる。

プログラムにおける「スコープ」(scope)とは、識別子が有効となる範囲のことで、グローバルスコープのほかに「ローカルスコープ」や「ブロックスコープ」などが存在する。関数内部で宣言された変数は通常ローカルスコープに属し、その関数の内部からのみ参照できる。このようなスコープの区別により、同じ名前の変数が異なる範囲で独立して存在することが可能となり、プログラム構造化したり名前の衝突を回避することが可能となる。

グローバルスコープの変数は便利である一方、プログラム全体から自由に参照・変更できるため、利用が増えるとプログラム依存関係が複雑になりやすい。ある箇所での値の変更が別の処理に予期しない影響を与えることがあり、副作用による不具合の原因になることがある。このため、多くのソフトウェア開発では、グローバル変数の使用は最小限にとどめ、必要なデータは関数の引数や戻り値、あるいはオブジェクトのメンバとして管理する設計が推奨される。

他の辞典等による「グローバルスコープ」の解説 (外部サイト)

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