Data Abstraction is all about defining what should public, private and protected for both attributes and functions of a class. Anything that can not be accessed outside the class must be private. Anything that is accessible to classes inheriting from this class and not other classes outside this class should be protected and access for all should be defined as public.
Abstraction mechanism is more about defining Abstract classes so that specific class definitions can be done. (Popular Shape class as Abstract class and then specific classe slike Circle, Rectangle etc are defined. So the abstract class just tells that there is a function that can be used like getArea but it does not define how to calculate the area so leaves the function abstract. The implementation classes then implement area as it has different formula for say Rectangle and Circle. Now you can use the abstract class Shape to create instance like
Shape s = new Circle();
Shape q = new Rectangle();
When you will call s.getArea() -- it will use the implementation inside Circle class as Shape is abstract class with its method getArea also abstract. Similarly q.getArea() will call implementation in Rectangle class. It means actual implementation has been abstracted from the user of Shape class and abstraction mechanism makes it possible to delegate the implementation to deriving classes.