What is inheritance?
A method of reusing code from the superclass where attributes and methods can be added and extended without affecting the original class
What is encapsulation?
Where attributes are made to be accessible only through the methods provided by the object (basically just private variables)
What is static polymorphism?
When you implement multiple methods of the same name but different parameters in a single class. Also known as method overloading
What is dynamic polymorphism?
When a subclass overrides a method from the superclass of the same name, meaning two methods can have the same name depending on which is referenced