I am wondering if it is good practice to call public functions also internally.
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.
I've always felt about this as somehow 'misusing' public methods, although I can't think of any valid technical reason not to do it.
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.
I image this question is highly subjective, but still... Any thoughts on this?