Every contract has its type. Contracts may be implicitly converted into the contracts from which they derive. Contracts may be explicitly converted to and from the address type by using the address type conversion function.
Using the contract type as a local variable, you may invoke functions that are associated with the contracted type. Make certain that it is assigned from a location that has the same contract type.
Contracts may also be formed and instantiated (which means they are newly created). More information may be found in the section under "Contracts through new."
The data representation of a contract is the same as the data representation of the address type, and this type is also utilized in Address Based Identification (ABI).
Contracts do not provide any assistance to operators.
The members of contract types are the external functions of the contract, as well as any state variables that have been declared as publicly accessible.
When dealing with a contract C, you may use type(C) to get information about the contract's type.
For more content, follow me on - https://linktr.ee/shlokkumar2303