title: Why should we declare interface methods as public?
body: <p>When I implement an <code>interface</code> method, I am forced to make it a <code>public</code> method.</p>
  
  <p>We may have cases where we want to use either the <code>default</code> (like in case of access within the same package) or <code>protected</code>. </p>
  
  <p>Can anyone please explain the reason behind this limitation? </p>