Tutorial Notes:

Abstract method: a method that the implementation is implemented by its subclass.

Constructor: method that initialize a class.

Overloading: same name method but have different parameters (signature).