The other answers are correct, as far as they go, though they don't really explain @ fully.
In DNS parlance, "@" is short for the origin. Typically this is the same as the zone name because it is inherited from the zone name unless otherwise specified, but it can be changed within a zone file by using the $ORIGIN directive.
Finally, as long as we are on the subject of the "@" character, it should not occur in e-mail addresses when they are called for in zone files (for example, the zone administrator address in the SOA record.) When an e-mail address is written in an SOA record, the "@" character is replaced by a period, i.e. "email@example.com" is written "admin.example.net" in an SOA record.