https://medium.com/@code.n.program.101/object-oriented-programming-with-java-ecapsulation-4310ec406289