privateメソッド 【private method】 private関数 / private function
概要
privateメソッド(private method)とは、オブジェクト指向プログラミングでクラスに定義されるメソッドのうち、クラス内からのみ呼び出すことができるもの。同じクラスのメソッドからのみ呼び出すことができ、外部から呼び出すことはできない。クラスベースのオブジェクト指向プログラミング言語では、オブジェクトの雛形である「クラス」(class)を定義し、オブジェクトを表すデータである「プロパティ」(property)と、プロパティの操作や何らかの処理を行う手続きである「メソッド」(method)を記述する。
プロパティやメソッドの宣言時にはデータ型などと共に、プログラム上のどの範囲から参照することができるかを指定する「アクセス修飾子」(access modifier)を指定することができる。多くの言語では「private」「protected」「public」の3種類を用意しており、「private」はクラス内からのみアクセスを許可する。
言語により記法は異なるが、先頭に「private」というキーワードを付けて「private int someMethod( int nParam ){…}」のように宣言するとprivateメソッドを定義することができる。同じクラス内の別のメソッドからのみ呼び出し可能であり、他のクラスのメソッドから呼び出そうとするとエラーになる。
一方、protectedメソッドは同じクラスとそのクラスを継承した派生クラス(子クラス/サブクラス)のメソッドなど(言語により異なる)から呼び出し可能で、publicメソッドは外部に公開されておりプログラム内のどこからでも呼び出すことができる。
privateメソッドはクラス内の複数のメソッドに共通する処理を一箇所にまとめたり、インスタンスの内部状態の制御・管理のために定義されることがある。しかし、オブジェクト指向の本来の考え方からすると、プロパティはなるべく隠蔽し、メソッドはなるべく公開すべきであるとされ、privateメソッドが必要な状況は設計に不備があると考える人もいる。