A structure that encapsulates (or packages) attributes
and methods that operate on those attributes. An object is
abstraction of a real-world thing in which data and processes
are placed together to model the structure and behaviour of
the real-world object.