C# structure of Monobehavior overridable functions

All overridable monobehavior functions follow the format: void Start(), for example.

Any other time I override my own functions I have to use the override keyword. What make the monobehavior functions so special?

Probably uses reflection internally to access the method, not inheritance.

Something like this: