The main advantage of OO is that it 'hides' your data persistence. So instead of having to constantly call
foo($baz,'data1'); qux($baz,'data2'); you could do
$baz->foo('data1'); $baz->qux('data2'); As such, its purely semantic, and has (to my knowledge) very little relationship with datastructures, unless you contemplate replacing just a basic hash/access structure with real accessors, such as
$hash->{key} vs
$obj->get('key');. which would allow you to hide exactly how you return the value of the key. (of course, you could
tie the hash, but thats evil...)