Module 2: Diving into OOPs

Introduction to OOP

Understand the concepts of Object-Oriented Programming (OOP) and how it forms the backbone of Java programming. Learn about objects, classes, and how to model real-world scenarios using Java.


Explore the static keyword in Java, learning about static variables, methods, and blocks. Understand the lifecycle and memory management of static elements and their common uses in Java applications.


Learn about inheritance in Java, a key OOP concept that allows classes to inherit properties and methods from other classes. Understand different types of inheritance and their practical applications.


Focus on constructors in Java, which are used to initialize new objects. Understand different types of constructors and the use of this and super keywords to manage data and chain constructors.


Learn about encapsulation, a fundamental OOP concept that involves wrapping data (variables) and code acting on the data (methods) into a single unit or class to protect against unauthorized access.


Explore polymorphism in Java, which allows methods to do different things based on the object that invokes them. Understand the difference between static (compile-time) and dynamic (runtime) polymorphism.


Dive into abstraction, which allows you to hide complex implementation details and show only the necessary features of an object. Learn about abstract classes and interfaces.


Understand the importance of packages in Java, which help organize classes and interfaces into namespaces. Learn about access modifiers and how they control access to classes, methods, and fields within packages.