- A collection of data
- A grouping of data and functions that act on that data
- When many objects have the same structure of data and/or functions we might start thinking of them as members of a class/type
- When objects have their data accessed by their functions we start talking about "encapsulation".
- When object types can share their structures we start talking about inheritance/etc.
So Objects can be typed or untyped.