title: Call external (i.e. interface) functions also internally?
body: <p>I am wondering if it is good practice to call public functions also internally. </p>
  
  <p>By public functions I mean all methods/functions that you created explicitly to be called from other objects, modules, etc. For example methods that you would typically put in a Java interface definition. By calling internally, I mean in the same module, class, etc.</p>
  
  <p>I've always <em>felt</em> about this as somehow 'misusing' public methods, although I can't think of any valid technical reason not to do it.</p>
  
  <p>The alternative would be to put the body of the function in a private function/method, which you can invoke internally. The body of the public method would then consist of a single call to the private function.</p>
  
  <p>I image this question is highly subjective, but still... Any thoughts on this? </p>