C# Interview Question #15
What is abstraction in C#?
OOP & Core C# Concepts Junior Beginner
Quick Interview Answer
Abstraction means exposing essential functionality while hiding unnecessary implementation details.
Detailed Explanation
Abstraction means exposing essential functionality while hiding unnecessary implementation details.
In C#, abstraction is commonly achieved using interfaces, abstract classes, service layers, and public APIs.
For example, application code can depend on an IEmailService contract without knowing whether the implementation uses SMTP, SendGrid, Azure Communication Services, or another provider.
Code Example
public interface IEmailService
{
Task SendEmailAsync(string email, string message);
}