Why do you want to get at the other class's data? Better to let that class tend to its own knitting.
The less data you share, the easier your code is to manage. Why is that? Well, if you have a class that depends on data from another class, sooner or later that other class is going to change in some way. Now you have to find everything that's depending on it being like it was, and fix it to do things the new way.
If the class works on its own data, you know by simple inspection what methods will need to change, because they're all in the class that you're already working on.
In the real world, there will be times when you will have getters, but every time you see a getter, you should be wondering how you could do away with it. Usually the answer will be to send instructions, not information.
Of course it's much better to have getters and setters than to leave classes public, or even protected, because then you at least have some control over what's getting set, but you should only have a getter or a setter when you absolutely know you need it.