Abstraction Abstraction is hiding complexities of implementation and exposing simpler interfaces . … In OOP, abstraction means hiding the complex implementation details of a program, exposing only the API required to use the implementation. In Java, we achieve abstraction by using interfaces and abstract classes.