Separation (verb) - Independent execution of specification of “what” and “how.”
Separation (noun) - Separate specifications for interface and implementation
Interface - Externally visible information about the behaviors
implemented by a software module (or a microwave oven).
Implementation - The mechanisms by which the behaviors are
Example - An interface specifies that a module accepts a one-dimensional
array of ints as input and returns an array in which the int
elements are in ascending order in the index positions.
public int  sort(int tobesorted)
- An implementation could be a quicksort, a merge sort, an
An interface is an agreed upon standard which any implementation must