Hola
Protected es una palabra reservada que se usa para indicar que un metodo no puede ser invocado desde fuera del objeto (parecido al private) pero con la diferencia de que cuando tu heredas una clase, los metodos protegidos aparecen (como si fuesen publicos) y puedes invocarlos desde el mismo objeto.
Por ejemplo, cuando tu creas un formulario, tienes varios metodos disponibles OnLoad, OnPaint, OnResize, etc.. estos metodos puedes llamarlos desde tu formulario y se heredan de la clase Form. Pero, cuando creas una instancia de ese formulario y tratas de ejecutar el metodo OnLoad del mismo te encontraras con que no puedes invocarla...
El Overrides y el Overloads sirven para poder sobrecargar un metodo... por ejemplo, volviendo al mismo metodo OnLoad del Formulario, este metodo existe, pero si tu quieres escribir tu propio metodo OnLoad puede usar el Overrides o el Overloads para hacerlo
Saludos