C++/Javaの予約語の一つで、メンバへのアクセス指定を行なう。
publicなメンバは、あらゆる場所で参照することができる。
C++ではラベルのように用い、書いた場所以降のメンバ変数やメンバ関数に影響するが、Javaではそれぞれのフィールドやメソッドに指定しなければならない。
C++ではクラスを継承する際の指定としても用いることができる。
その場合、基底クラスのprivateなメンバ変数/関数はprivateとして、protectedなメンバ変数/関数はprotectedとして、publicなメンバ変数/関数はpublicとして継承される。