Two steps for Object Oriented Programming
Making Classes: Creating, extending or reusing abstract data types.
Making Objects interact: Creating objects from abstract data types and defining their relationships.
Making Objects interact: Creating objects from abstract data types and defining their relationships.