Encapsulation, polymorphism, and abstraction.