A component represents a modular part of a system that encapsulates the state and behavior of a number of classifiers. Its behavior is defined in terms of provided and required interfaces.
A component can be replaced at design time or run-time by another if and only if their provided and required interfaces are identical.
Some components exist only at compile time, some exist only at link time, some exist only at run time; and some exist at more than one time.
A component has an external, also known as “black-box”, and internal view, also known as “white-box”. In its external view, there are public properties and operations. For its internal view, the component has private properties and realizing classifiers. You model the internals of the component to show how external behavior is realized internally.