Those are not "two methods".
When you do
address(this) what you are doing is casting the _instance/this object into the type
Casting means taking an object of a certain data type and converting it into another data type.
For example, if you had a
uint8 number and you wanted to do a power operation with it, given that uint8 would not have the capacity to hold a very large number, you would first cast it into a bigger int like this:
In your example above, you are taking a contract object and casting it into an address, which basically gives you the address of the contract.