A reference type refers to an object in some external memory space. This is in contrast to value types, that are stored where they are created.
Experts also talk about reference types as being 'dynamically allocated.' In some languages, this involves different forms of organization, for example, where reference types are stored in a managed heap, rather than in a stack.
Other issues around the use of value types and reference types include the kinds of objects, such as classes and structs, that may fall into one category or the other.