呼び出せないようにアクセス制御を設定することができます。アクセス制御で用いる「private」や「protected」の使い方を解説していきます。それぞれのメソッドに呼び出し制限を設定することができ、以下の種類があります。制限なし(デフォルトではこの設定になっている)。クラスの外からは呼び出せない。同じインスタンス内でのみ、関数形式で呼び出せる。クラスの外からは呼び出せない。同じインスタンス内で呼び出せる。他のインスタンスでも同じクラスやサブクラスであれば呼び出せる。それぞれの使い方について、実際のプログラムを例に解説していきます。アクセス制御の指定方法はじめにアクセス制御の指定方法を紹介していきます。クラス内で書くと、それ以降のメソッドはすべて指定した呼び出し制限が設定されます。ようにして、アクセス制御を指定する方法もあります。設定したメソッドは呼び出しに制限がなく、クラスの外からでも呼び出すことができます。設定されているデフォルトの呼び出し制限なので、とくに明示的に指定する必要はありません。「hello」メソッドが呼び出せることが確認できます。クラスの外から「night」メソッドが呼び出せることが確認できます。設定したメソッドはクラスの外からは呼び出せません。同じインスタンス内でのみ、関数形式で呼び出すことができます。設定した「morning」メソッドをクラスの外から呼び出そうとしているため、エラーとなります。「morning」メソッドを呼び出そうとして、エラーとなります。その2今度はクラス内で「morning」メソッドを呼び出してみます。こちらはエラーになりません。「greeting」メソッドを呼び出し、その中で「morning」メソッドを呼び出しています。設定しているメソッドは同じインスタンス内で呼び出せるので、「morning」が呼び出されて「おはよう」が表示されることが確認できます。設定したメソッドはクラスの外からは呼び出せません。同じインスタンス内で呼び出すことができます。他のインスタンスでも同じクラスやサブクラスのメソッドであれば呼び出せます。メモ特殊な用途になるので、使用頻度は少ないです。設定した「morning」メソッドをクラスの外から呼び出そうとしているため、エラーとなります。「morning」メソッドを呼び出そうとして、エラーとなります。その2今度はクラス内で「morning」メソッドを呼び出してみます。こちらはエラーになりません。「greeting」メソッドを呼び出し、その中で「morning」メソッドを呼び出しています。設定しているメソッドは同じインスタンス内で呼び出せるので、「morning」が呼び出されて「おはよう」が表示されることが確認できます。設定したメソッドは、以下のように他のインスタンスであっても同じクラスやサブクラスのメソッドであれば呼び出せます。コードで「get_name」メソッドを呼び出しています。自身のインスタンスのメソッドを呼び出しています。引数で渡した「user2」インスタンスのメソッドを呼び出しています。呼び出すことができます。まとめ以上、「private」や「protected」の使い方でした!ここまでの内容をまとめておきます。呼び出せないようにアクセス制御を設定することができる。クラス内で書くと、それ以降のメソッドはすべて指定した呼び出し制限が設定される。設定したメソッドは呼び出しに制限がなく、どこからでも呼び出すことができる。デフォルトではこの設定になっている。設定したメソッドはクラスの外からは呼び出せない。同じインスタンス内でのみ、関数形式で呼び出すことができる。設定したメソッドはクラスの外からは呼び出せない。同じインスタンス内で呼び出すことができる。他のインスタンスでも同じクラスやサブクラスのメソッドであれば呼び出せる。フリーランスエンジニア。複数のスタートアップ企業でウェブサービス開発に参画。その後、会社創業期の開発マネージャーの経験を経てフリーランスに。プログラムや文章を書いて暮らしています。