Data abstraction is a programming technique that allows complex data structures, such as classes or objects, to be represented in a simplified manner, hiding the implementation details from the user. This makes it easier for developers to use and manipulate the data without needing to understand the inner workings of the data structure.