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