Just for clarity's sake, a private const is an instruction to the compiler to effect its use within the local class, and a public constant can be used outside of the class it is assigned by referencing the class name it is contained within (observing class scope). The compiler does not use an object assigned the const attribute like it does with a commonly defined variable.
A constant is however not a "static" object by the strict use of that definition within OOP. It is a more like a compiler directive than a variable. The compiler reads all the constant declarations for a project, then it performs a: Replace all references of this key word to this value within the source code.
Sorry for continuing such an out dated posting