Abstração de dados em java é o conceito de criar tipos de dados complexos e apenas selecionar operações relevantes para interagir com esse tipo de dados. Abstração é um componente central da programação orientada a objetos
Cada linguagem OOP tem sua própria maneira de implementar abstração. A ideia geral por trás da abstração é selecionar apenas as propriedades importantes de um objeto relevante para a tarefa atual, enquanto oculta as não importantes.
Em Java, a abstração de dados é implementada usando a palavra-chave abstract ao declarar uma classe ou método. Uma classe abstrata em Java é um tipo especial de classe que não pode ser instanciada.
Observe que abstração e encapsulamento não são iguais, embora sejam facilmente confundidos. Encapsulamento é o conceito de agrupar propriedades e métodos do objeto.