I'm going to use Java as an example. Any text in between quotation marks can be taken with a grain of salt, because I'm not sure what verb fits in those quotation marks.
There are three objects: House, Resident, and Car.
These three objects are not object-oriented in anyway possible. However, they are "related" when placed together like this:
That just makes them related by package name. Going further, we can make them a bit more "related" to one another like this:
Ignoring the methods above, and just looking at the variables, we can see that a House object have 3 Residents, and 2 cars. And since the Car object needs a Resident as its owner, it implies Resident have Car within their scopes.
Thus we can get:
House > Resident > Car
I was looking around on Google the other day, searching around forums and stuffs, and was wondering what this "relation" is called. Some call it the "top down approach", while others disagree with it, and said it has nothing to do with designing a program.
What is it really called? And how do you use it (best practices)?