title: Is it normal that 'private' function like Start, Update of the parent class is called in a child class?
body: <p>Is it normal that 'private' function like Start, Update of the parent class is called in the child class?</p>
  
  <p>For example</p>
  
  <p>Script Parent :</p>
  
  <pre><code>public class Parent : MonoBehaviour
  {
      private void Awake()
      {
          Debug.Log("Awake Parent");
      }
  
      private void Start()
      {
          Debug.Log("Start Parent");
      }
  }
  </code></pre>
  
  <p>Script Child :</p>
  
  <pre><code>public class Child : Parent
  {
      // nothing
  }
  </code></pre>
  
  <p>When I add Child script as a component to any gameobject, then "Awake Parent" and "Start Parent" appear on Unity console window.</p>
  
  <p>But, the Awake and Start functions are private now. I know private method can't be derived. Is it right?</p>
  
  <p>Then why that private functions are called in this situation?</p>