In
computer science, an
opaque data type is a
data type whose concrete
data structure is not defined in an
interface. This enforces
information hiding, since its
values can only be manipulated by calling
subroutines that have access to the missing information. The concrete representation of the type is hidden from its users, and the visible implementation is incomplete. A data type whose representation is visible is called
transparent. Opaque data types are frequently used to implement
abstract data types.