casting (2 kinds, 20 facts) - The process of producing a new value that has a different type than its source
garbage collection (8 facts) - A mechanism which checks for objects that are no longer reachable from any executable code and reclaims the space used by them
information hiding (4 facts) - Hiding details so as to reduce complexity
inheritance (2 kinds, 17 facts) - A mechanism that enables one class to inherit all the behaviour and attributes of another class, The acquisition of data (variables) and behaviour (methods) from a parent (superclass) in a hierarchy, The possession by one class of elements defined in another class, by virtue of the fact that the former class is defined to be a subclass of (to extend) the latter
method name overloading (7 facts) (method overloading) - A mechanism that allows several methods to have the same name as long as they have different method signatures
multithreading (5 facts) - A mechanism that provides support for multiple threads of execution to run concurrently within a program without interfering with each other
object serialization (3 facts) - The ability to write the complete state of an object (including any objects it refers to) to an output stream, and then recreate that object at some later time by reading its serialized state from an input stream
polymorphism (7 facts) - A property of object oriented software by which an abstract operation may be performed in different ways in different classes, The ability to use the same syntax for objects of different types
recursion (3 facts) - A mechanism in which a method calls itself
synchronization (5 facts) - A mechanism to guarantee that only one thread can access an object at a time