Parameterized code structure.

Named attribute associated with an object.

Degree to which component responsibilities belong together.

Reusable collection of behavior or requirements.

Variable stored inside an object or class.

Passing responsibility to another object.

Component designed to add reusable behavior.

Field or method belonging to a class.

Same method name with different parameters.

Naming scope preventing identifier conflicts.