In computer science, a public interface is the logical point at which independent software entities interact. The entities may interact with each other within a single computer, across a network, or across a variety of other topologies.
It is important that public interfaces will be stable and designed to support future changes, enhancements, and deprecation in order for the interaction to continue.