Attributes provide us with generic means of associating information with different elements. These can be defined by programmers and attached to elements in code such as classes, properties, methods ...