Class
Object oriented programming
Hashable
Immutable
Hashable
Public interface of a class
Encapsulation
Accessor methods
Mutator methods
Instance variables
Unit testing
Method headers
Mutator method
Data representation
Constructor
Object tracing
Special method
Throw early
Try, except and finally are the main ways to handle errors.
Exceptions