保護されたメンバーまたはメソッドとプライベートなメンバーまたはメソッドの違いがわかりません。どちらも、クラスの外部からアクセスするメンバーまたは関数を非表示にすると想定しているためです。
protected キーワードと private キーワードの違いは何ですか?
private
- それらを定義するクラス内でのみアクセスできます。
protected
- それらを定義するクラスおよびそのクラスから継承する他のクラスでアクセス可能。
private
クラス自体の中でのみ見えるもの。
protected
クラス自体とサブクラスに表示されるもの。
違いは、誰がそれらの機能にアクセスできるかです。
Private
= 同じクラスのメンバーのみが関数にアクセスできます。
Protected
= private と同じですが、派生クラスもアクセスできます。