Abstraction is showing the required information to the outside and hiding the lower-level complex implementation. it is design level concept to plan the program