JavaOOP Използване на парадигмата обектно-ориентирано програмиране Капсулация на данните Използване на Reflection Прилагане на принципите от обектно-ориентираното програмиране Създаване на йерархия от класове и наследяване Компонентно тестване