Why use getters and setters?
- Scalability: It's easier refactor a getter than search all the var assignments in a project code.
- Debugging: You can put breakpoints at setters and getters.
- Cleaner: Magic functions are not good solution for writting less, your IDE will not suggest the code. Better use templates for fast-writting getters.