Abstract class định nghĩa blueprint chưa hoàn chỉnh với abstract methods (chỉ có chữ ký) và concrete methods (có implementation).
- Không thể khởi tạo trực tiếp mà phải kế thừa và implement các abstract member.
- Dùng abstract class làm base class khi muốn chia sẻ logic chung và bắt buộc subclass implement những phần cụ thể.
- Khác interface, abstract class có constructor và trạng thái.