The various getTYPE("xyz") methods return attribute "xyz" as an object of a particular type.
JDBC is fundamentally String-based, meaning that's what comes over the wire. So in order to use different types in the application, you need to tell it how to interpret the
string. getString probably does nothing but hand over what it got from the DB. getInt needs to parse the string to an integer (which will fail, or give you some default, if the value isn't a number). And so on.
I wouldn't rely on these methods to be able to make sense of types other than the ones they are meant to be used with. E.g., if you use getBoolean on an integer field, you may not get an exception, but the result may not be what you're expecting either.