When and why should I use public, private, and protected functions and variables inside a class? What is the difference between them?<
The difference is as follows:
Public :: A public variable or method can be accessed directly by any user of the class.
Protected :: A protected variable or method cannot be accessed by users of the class but can be accessed inside a subclass that inherits from the class.
Private :: A private variable or method can only be accessed internally from the class in which it is defined.This means that a private variable or method cannot be called from a child that extends the class.