An access modifier is a keyword that specifies how much access a class, struct, interface, or member has. It defines which parts are visible to the rest of the codebase.
public: The code is accessible for all objects or types.private: The code is only accessible within the object or type.protected: The code is only accessible within the object or a derived type.internal: The code is accessible for all objects or types within the same assembly.protected internal: The code is only accessible within the same assembly or in a derived class from another assembly.