object cube1 = new Cube(7);
what exactly happens here when i have a different variable type but I still set it equal to a new (whatever the class is) with the class being different than the data type. - so here I have the data type object but setting it equal to new Cube. how does it work when u do something like this. does the variable still use the methods and properties in cube because it is set as new cube or not because the datatype is object?