What are the key elements of object-oriented programming?

What is data hiding
$

What is the difference between a class and an object?

What are the features of classes?

What is the difference between public and private visibility?

What is class inheritance?

Example of inheritance

What are protected members?$

What are the rules of visbility for classes??
Public
Protected
Private

What are generics?

What is a subtype?

What is the difference between static method binding and dynamic method binding?
