What is a Component?
It is a unit of software that performs a specific task.
It has a formal, well-defined interface that documents its properties, behavior, and messages sent and received.
It is designed to be plug-in reusable!
Components are the next step in object-oriented design