private変数 【private variable】 privateプロパティ / private property / privateフィールド / private field

概要

private変数(private variable)とは、オブジェクト指向プログラミングクラスに定義されるメンバ変数のうち、クラス内からのみ参照できるもの。同じクラスメソッドからのみの読み込みや代入うことができ、外部から読み書きすることはできない。言語により「private変数」「privateプロパティ」「privateフィールド」などと呼ばれる。

クラスベースのオブジェクト指向プログラミング言語では、オブジェクト雛形である「クラス」(class)を定義し、オブジェクトを表すデータである「メンバ変数」(member variable)あるいは「プロパティ」(property)と、変数の操作や何らかの処理をう手続きである「メソッド」(method)を記述する。

変数メソッドの宣言時にはデータ型などと共に、プログラム上のどの範囲から参照することができるかを指定する「アクセス修飾子」(access modifier)を指定することができる。多くの言語では「private」「protected」「public」の3種類を用意しており、「private」はクラス内からのみアクセスを許可する。

言語により記法は異なるが、先頭に「private」というキーワードを付けて「private int someProp = 0;」のように宣言するとprivate変数を定義することができる。同じクラス内のメソッドからのみアクセス可能であり、他のクラスメソッドから呼び出そうとするとエラーになる。

外部から状態の参照や代入が必要な変数については、そのクラスメソッドとして変数の読み書きをうものを用意するという手法がある。変数名「X」について「getX();」「setX引数)」というメソッドと用意し、getXを呼び出すとの読み出しが、setXを呼び出すと代入ができる。これらを「getterメソッド」「setterメソッド」と呼び、合わせて「アクセサ」(accessor)と呼ぶ。

オブジェクト指向プログラミングではオブジェクトが外部に公開するのは操作、すなわちメソッドのみであり、メンバ変数privateとするのが原則とされる。オブジェクトの内部状態である変数を外部から直接知る必要があったり、直接操作する必要がある場合には機能の切り分けなど設計がうまくいっていない可能性がある。

(2024.5.31更新)

他の辞典による解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる