complete control over your code,
Just curious, but what exactly in real world terms, do you mean by this.
Functions overloading is a good enough reason.
To OP: if you enjoy Java more, then go with it. It is true that C++ is superior in performance, but at the beginner level you won't notice the difference. But if you are up to take a slightly complex, but better path - go with C++. In the end - the game you have made is all that matters, not the tool you have chosen.