Concept Flow - Constructor overloading
Create object
Call constructor
Match constructor signature
Constructor 1: no params
Constructor 2: 1 param
Constructor 3: 2 params
Initialize object with matched constructor
Object ready to use
When creating an object, the program chooses the constructor that matches the given parameters to initialize the object.