A type describes what sort of information a variable stores, and usually how much space that information takes up. Classes and interfaces are user defined types, there are also fundamental types like int and bool.