Composition

We’ve now seen a number of different concepts, ranging from the very basic data types all the way to the class structure. However, programmers often use structures built on top of this basic functionality to extend the amount of possibilities. Things such as lists get chained together to form linked lists, and abstract data types such as trees get converted to full-blown classes that actually become quite useful for representing certain sets of data.