1. Encapsulation (Đóng gói): gom data + method vào class; che giấu chi tiết nội bộ qua private/protected.
2. Inheritance (Kế thừa): class con kế thừa thuộc tính/method từ class cha → tái sử dụng code, mở rộng dễ.
3. Polymorphism (Đa hình): cùng interface, nhiều hành vi — compile-time (overloading) và runtime (virtual function).
4. Abstraction (Trừu tượng hóa): ẩn chi tiết cài đặt, chỉ lộ interface cần thiết — thường qua abstract class hoặc interface.
1. Encapsulation: bundle data and methods in a class; hide internals via private/protected.
2. Inheritance: a child class inherits properties and methods from a parent class → code reuse and extension.
3. Polymorphism: same interface, multiple behaviors — compile-time (overloading) and runtime (virtual functions).
4. Abstraction: hide implementation details, expose only the necessary interface — typically via abstract classes.