Object-oriented programming is one of several popular programming paradigms in use today. It is based around the concept of 'classes' and their instances, known also as 'objects' and their interactions. Objects contain both data, called attributes, and code, known as methods.
In this subject, techniques for computer program development using Java, an object-oriented programming language, are introduced. Topics covered include classes, objects, encapsulation, inheritance, polymorphism, single and multidimensional arrays, file input/output, decision structures and loops. Programming language features for parameter passing, exception handling, and simple user interface development will also be covered.