JAVA OOP CONCEPTS The four main theoretical principles of object-oriented programming Abstraction Encapsulation Polymorphism Inheritance Java also works with three further OOP concepts: Association Aggregation Composition