Section 5 of the SCJP 5 exam objectives lists the OO concepts you need to know:
Section 5: OO Concepts
* Develop code that implements tight encapsulation, loose coupling, and high cohesion in classes, and describe the benefits.
* Given a scenario, develop code that demonstrates the use of polymorphism. Further, determine when casting will be necessary and recognize compiler vs. runtime errors related to object reference casting.
* Explain the effect of modifiers on inheritance with respect to constructors, instance or static variables, and instance or static methods.
* Given a scenario, develop code that declares and/or invokes overridden or overloaded methods and code that declares and/or invokes superclass or overloaded constructors.
* Develop code that implements "is-a" and/or "has-a" relationships.