Oi Leonardo
Uma classe DAO é responsável para acessar e manipular os dados do Banco de dados.
Pensa que você recebeu um usuário de um formulário e você precisa salvar o mesmo no seu sistema. O código que abre a conexão com o banco e salva deveria ficar em uma classe específica para isso. Nesse caso ela ficaria em uma Classe DAO.
Na apostilas da java para web da caelum tem um capiluto inteiro falando sobre esse negócio de conexão com banco, querys e o DAO:
https://www.caelum.com.br/apostila-java-web/bancos-de-dados-e-jdbc/#por-que-usar-um-banco-de-dados
Consegui te ajudar?
Leonardo, caso aparecer outra dúvida que não tem ligação com o assunto inicial, você pode abrir uma nova dúvida? Assim vai ajudar a deixar o fórum mais organizado.
Obrigado e Abraço;