In Godot basically everything is global in a sense (well, within a particular scene tree). There is no concept of private methods or properties, and any object, on any level, can be accessed at any time from anywhere. This is extremely useful, as you can always do whatever you want. But it is also dangerous if you don't know what you are doing.
At the same time, a lot of people write what they think is object oriented code, and it's completely useless and a waste of time. For example, you see functions like this taught in classes and used by people.
private:
float speed_x;
public:
float get_speed_x() {
return speed_x;
}
void set_speed_x(float val) {
speed_x = val;
}
This is completely useless and offers no encapsulation. speed_x is, for all intents and purposes, a public variable. You could use the following code and there would be no difference in the safety or execution of the design.
public:
float speed_x;
The code is equivalent. So a lot of times, people put these constraints on themselves, and waste time writing over-engineered code that does absolutely nothing and just makes their life harder for no benefit.