Olá. Td bem?
Aprendi dessa forma. Veja se faz sentido para você ou te ajuda a entender... (Por favor, quem for mais experiênte, me corrija se eu estiver errado, ou complemente).
Abstração é o fato de você saber que algo existe, mas que o funcionamento exato dele (por trás) é transparente para você naquele momento.
Exemplo bem bobo, no caso da programação:
Você sabe como funciona o comando console.log() do JavaScript por baixo dos panos ?
Não né? Nem eu...kkkk, a gnt o utiliza abstraindo para apenas se importar com o resultado que ele nos trás, imprimir algo no console do navegador.
Então o funcionamento do comando está abstraído para nós, podemos chamar isso de Caixa-Preta também, é um termo que ouço bastante na área da programação.
-> Um pouco mais sobre o conceito de caixa-preta, explicando sobre testes de caixa-preta:
https://pt.stackoverflow.com/questions/404542/como-funciona-um-teste-de-caixa-preta
Não que você não possa saber o que realmente tem por baixo dos panos no futuro, mas no primeiro momento, vc pode abstrair e se preocupar em como vc vai usar aquela funcionalidade para obter o resultado que você quer.
Outro exemplo, dessa vez fora da programação:
Eu não sei como funciona o motor de um carro, eu só sei dirigir, olhar água, óleo e algumas coisas assim para garantir o bom funcionamento do motor, mas nada além do que eu preciso para utilizar o veículo no meu dia-a-dia.
Nesse outro caso, o funcionamento exato do motor do carro está abstraído para mim.
Obs:
Ao meu ver, é descenssário e acaba afetando mt a nossa evolução, principalmente no inicio, quando queremos saber exatamente tudo antes de progredir. No caso da programação, o básico do básico pode ser mais difícil que o avançado kkkk. Digo no caso de querer entender exatamente como tudo funciona e de onde as coisas derivam.
Espero ter ajudado e não falado besteira, abração!!!