Abstraction in C vs Abstraction in Java [closed]

  abstraction, c++, java, oop

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++