As we all know about abstraction and encapsulation fundamental that help to build robust and loosely coupled architecture.
When we start designing classes we need to keep in mind the specialized attributes and based on that structure need to build.Usually we go with interfaces or abstract classes for creating a foundation of architecture.
I am confused here with interfaces, weather they are lied under abstraction?
Why they said program to interface, not implementation.
Thanks in advance for clarifying.