https://entri.app/blog/access-modifiers-vs-non-access-modifiers-in-java/
Access Modifiers vs Non-access Modifiers in Java