From the course: Java Object-Oriented Programming

Unlock the full course today

Join today to access over 23,200 courses taught by industry experts.

What is abstraction?

What is abstraction?

- [Instructor] In software development we use abstraction to hide implementation complexity. This complexity could be from an algorithm, EPI or design. And the goal of abstraction is to generalize the features of a given system. If a software product uses abstraction it should be able to provide a user with an example input, output in a broad description of what the system does without going into the technical details. Consider someone making coffee with a pod coffee machine. The person knows they need to provide the machine with water and the specific coffee pod but they don't know exactly how the coffee is made. They don't need to know how the coffee machine works internally in order to brew a fresh cup of coffee. Someone else created the pod coffee machine to hide all the details of exactly how the coffee is made. If you want to make a cup of coffee, you just interact with the simple interface, providing the inputs…

Contents