Object Oriented Programming (OOP) - I. Teaching unitCourses:ADVANCED PROGRAMMING LANGUAGESYear: Year 3 of Bachelor's in Telecommunications Technology EngineeringDegree: Bachelor's in Telecommunications Technology EngineeringDescriptionThe basic concepts of Object Oriented Programming (OOP) are presented for analysis and design of well-structured programs. The syntax used by Java to implement these concepts is shown.ObjectivesDiscover the Object Oriented Programming (OOP) as a valid methodology for program designing, working with objects, classes, encapsulation, packets, inheritance, abstract classes, interfaces, and anonymous inner classes and enumerations (enum).SubjectsLecture topicsThe aim of the OOP. Software lifecycle. Analysis of a problem and design a solution. POO modeling concepts: class, object, abstraction, encapsulation.Components of the classes: attributes (instance variables, instance variables, constants), constructors, finalizers, methods. Using the online documentation of the Java class library (API).Creating and deleting objects: new operator, constructors, finalizers, garbage collection (garbage collection). Comparing objects, null reference.Methods: passing arguments, returning values, invoking instance methods and class methods (static), polymorphism.Encapsulation: using public access modifiers (public) and private (private) to achieve encapsulation (visibility of the components).Java Program structure: structured program into several classes.Laboratory topics