When working with sObjects, if you want to reference a field variable you must reference the data type. To explicitly cast a data type for a variable, simply add the data type in parentheses before you get the variable from the sObject.
For example:
Account a = new Account(Name='Test');
sObject sA = a;
string sA_name = (string)sA.get('Name');
Another example:
// Suppose the Account object has a custom DECIMAL field called myDecimal__c
Account a = new Account(Name='Test',myDecimal__c=3.1415926535897);
sObject sA = a;
decimal theDecimal = (decimal)sA.get('myDecimal__c');
Essentially, for sObjects, the compiler doesn't know what the data type is if you try to reference a field value, so you have to explicitly tell the compiler what the data type of the field is. This may seem odd, but in fact, it's the key to the generality of sObjects.
Note: casting data types come in to play a lot when dealing with data coming from other electronic sources. You might even find a reason someday where you will need to cast something as (list<myFavoriteClass>).