According to what I have learned, Abstraction is a concept of hiding internal implementation.
We can achieve abstraction in java with interfaces, abstract keyword(for class/method) as well as through methods.
eg Scanner s = new Scanner(System.in);
int x = s.nextInt();
Here we need not know anything about nextInt() method. So I can say this is abstraction.
The same thing can be achieved in C with printf()
So if can achieve abstraction even in non-OOP language, why is abstraction such a hyped feature in OOP based languages .
Please give a valid and technical answer. Don’t give stupid analogy. And correct me if my information is wrong.
Source: Windows Questions C++