Constructor are called at the moment of instantiation. Used to put the new instance of the class into valid state. Whether you define or not, there is a default constructor. You can override the default (no input parameters) or overload the constructor to allow the user to set the new instance to a valid state.