My first programming language is C++. C++ is a multi-paradigm programming language. One of the paradigms C++ supports is Object Oriented Programming. I want to say I get the general idea and benefits of OOP as is exemplified in C++.
I have recently started creating a project in Android Studio. One of the languages Android Studio supports is Java. Java is a 'pure' object oriented programming language. Pure is in scare quotes due to java supporting primitive data types.
My question is why does Java go full OOP where as C++ doesn't feel the need to go to that extent. C++'s approach seems more 'reasonable' to me. However, I'm sure there are specific reasons why Java does it the way it does. Where everything is an object, everything has to be declared as public, protected, etc. Everything is used loosely.