An excerpt from Beginning Java Objects: From Concepts to Code by Jacquie Barker:
As mentioned previously, one of the arguments against declaring public attributes is that the object loses control over its data, for as we saw earlier, a public attribute’s value can be changed by client code without regard to any business rules that the object’s class may wish to impose. On the other hand, when an accessor method is used to change the value of a private attribute, value checking can be built into the “set” method to ensure that the attribute value won’t be set to an “improper” value.
I don't understand that phrase. If it simply were as we saw earlier, then, yes, that would make perfect grammatical sense. But with that for at the beginning, I'm confused.