Access specifiers(or access modifiers) are used to set the accessibility of classes, methods and variables.
PublicCan be accessible outside the class (anywhere) in the same assembly or another assembly.
PrivateAccessible only in the same class.
ProtectedAccessible in the same class or in a derived class of that class.
InternalAccessible anywhere in the code with in the assembly. But not accessible in another assembly.
Protected InternalAccessible anywhere in the code with in the assembly. And accessible only in derived class in another assembly.