A directory is a special kind of file that is essentially a list of names and corresponding vnode pointers to other vnodes. Note that a directory can also have a non-zero file size. Besides a regular file and a directory, no other vnode can have a non-zero file size.
A good example of a directory is the root directory, represented by a single slash (/).