While I understand what the class access keywords public, private, and protected are supposed to do, I just don't see how this ACTUALLY "hides variables" and makes for more bullet proof code.
Do the variable names survive the compilation process?
If someone was to read compiled code in raw memory, would they see the variable names?
Also, the process of taking one variable name in a public funtion, and then assigning it's value to a private variable seems redundant and a bit convoluted to me.
Also the concept of 'constant functions" seems contrived. What is really happening with that?
A function can have a constant and non constant version just by virtue of class definition?
If some program went awry, wouldn't that 'constant" piece of code get "stepped on"? After all, both are just memory locations! I don't fully appeciate the difference.
Perhaps I'm just "thinking into it" too much, but I do like to understand what I'm doing and WHY.
Thanks in advance for any light you can shed on this.