why there are so many tty files in the dev directory?
That's because there are so many devices available. Entries in /dev are not restricted to physical devices, but also include logical ones. You just named one: TTY. You don't really think you've got 63 "connectors" somewhere to attach keyboards etc. to? Also, /dev/random is nothing physical, but rather "software" (a random-number generator provided by the system itself). Same applies to things like /dev/null, /dev/zero, and several others.

For more/deeper details, you might refer to following articles:


Linux Filesystem Hierarchy
Device file (Wikipedia) -- recommended for this topic, as it explicitly included Pseudo-devices
Linux System Administrator's Guide - The / dev directory