software blueprint for implementing objects of a given type
maintains the current state of the object (aka instance variables or data
provide both the behaviors of the object and the operations that
manipulate the object. When called, a method usually performs a
combining an object's data and methods into a single unit
creates an object of the class;
it always has the same name as the class;
the constructor has no return type;
can have several constructors as long as the parameter list is different
constructor that has no arguments (parameters).
constructor that sets the instance fields to values passed into the
method in the parameter list
does not alter the object's instance variables (state);
returns some information about the object
changes the state of an object by modifying at least one of the instance
creating a new object using the "new" reserved word.
the object is created with a variable referencing that object.