Private Class Not So Private?

Okay so you’ve got your private vars in your AS2 Class, you think they’re all safe right? Wrong.

Doing a trace(MyClass.myvar); will spit out an error that the var is private and you can’t touch it.

But a trace(MyClass[“myvar”]); will work perfectly fine. You can use it normal, without any setters getters outside the class.

Is there a way to protect against this? I think this is a huge security flaw. I know it’s simple OOP, but a private var in an object should have rules.