Object Oriented Programming (OOP) is a fundamental approach in writing computing languages. In Java this helps users understand what the code is trying to say. You have many different type of principles in an OOP. You have the object "An object is a software bundle of related state and behavior" (Oracle, ND). A class "A class is a blueprint of prototype from which objects are created" (Oracle, ND). Inheritance which "provides a powerful and natural mechanism for organizing and structuring your software" (Oracle, ND). An interface which "is a contract between a class and the outside world" (Oracle, ND). A "package" which is "a namespace for organizing classes and interfaces in a logical manner" (Oracle, ND). Something I found interesting is that the abstract data type (ADT) which is the "realization of data type as a software component" (Shaffer, 2013), which is the "data structure implementation for ADT" (Shaffer, 2013) make up the principle 'Class' in Java. There are few more major principles that are focused around object oriented programming and these are encapsulation, this is how data is hidden from unauthorized access. Accessor and Mutators, which is a method of asking an object about itself. Abstraction which is used to manage "complexity" of information by "focusing on essential characteristics while ignoring irrelevant details " (Wikipedia, ND).
References
Oracle, ND. Lesson: Object-Oriented Programming Concepts.
https://docs.oracle.com/javase/tutorial/java/concepts/index.html
Shaffer A., Clifford, 2013. Data Structures and Algorithm Analysis.
https://people.cs.vt.edu/~shaffer/Book/JAVA3elatest.pdf
Copyright © 2009-2012 by Clifford A. Shaffer. This document is made freely available in PDF form for educational and other non-commercial use. You may make copies of this file and redistribute in electronic form without charge. You may extract portions of this document provided that the front page, including the title, author, and this notice are included. Any commercial use of this document requires the written consent of the author. The author can be reached at shaffer@cs.vt.edu. If you wish to have a printed version of this document, print copies are published by Dover Publications (see http://store.doverpublications.com/0486485811.html). Further information about this text is available at http://people.cs.vt.edu/˜shaffer/Book/.
Wikipedia, ND. Object-Oriented Programming.
Wikipedia, ND. Abstraction.
Lewallen Raymond, 2005. 4 Major Principles of Object-Oriented Programming.
https://people.computing.clemson.edu/~jmarty/courses/commonCourseContent/Module2-ProgrammingReview/SupplementalMaterial/4%20major%20principles%20of%20Object-Oriented%20Programming%20_%20Raymond%20Lewallen.pdf