DEV Community

Cover image for OOP (Object-Oriented Programming).
Abinesh.R
Abinesh.R

Posted on

OOP (Object-Oriented Programming).

JAVA OOPS CONCEPTS

├── 1. Class
├── 2. Object
├── 3. Encapsulation
├── 4. Inheritance
├── 5. Polymorphism
└── 6. Abstraction

1. Class

Blueprint for creating objects. Defines what data (fields) and behavior (methods) objects will have.
Example
class Student {
String name;
int age;
void study() { System.out.println(name + " is studying"); }
}

2. Object
An actual instance created from the class, using new.
Example
Student s1 = new Student(); // object
s1.name = "Abinesh";
**

  1. Encapsulation** Hiding data using private, exposing it safely via getters/setters.

Example
class Account {
private double balance;
public double getBalance() { return balance; }
public void deposit(double amt) { balance += amt; }
}

4. Inheritance
Child class reuses parent class's code via extends.
Example
class Animal {
void eat() { System.out.println("eating"); }
}
class Dog extends Animal {
void bark() { System.out.println("barking"); }
}

5. Polymorphism
Same method name, different behavior.
Overloading (compile-time) — same method, different parameters, same class.
Overriding (runtime) — child class redefines parent's method.
Example
// Overloading
void add(int a, int b) {}
void add(int a, int b, int c) {}

// Overriding
class Animal { void sound() { System.out.println("sound"); } }
class Dog extends Animal { void sound() { System.out.println("bark"); } }

6. Abstraction

Hiding implementation details, showing only essential features. Done via abstract class or interface.

example

abstract class Shape {
abstract void draw(); // no implementation
}
class Circle extends Shape {
void draw() { System.out.println("drawing circle"); }
}

important oops concept **
**1.Constructor

Special method that runs automatically when an object is created. Same name as class, no return type. Used to initialize values.
Example
class Student {
String name;
Student(String n) { // constructor
name = n;
}
}
Student s1 = new Student("Abinesh"); // auto-called

2. this keyword

Refers to the current object. Mainly used to fix naming conflicts between instance variables and parameters.

example
class Student {
String name;
Student(String name) {
this.name = name; // this.name = instance var, name = parameter
}
}

String name;
Student(String name) {
    this.name = name;  // this.name = instance var, name = parameter
}
Enter fullscreen mode Exit fullscreen mode

}
5. Instance vs Static
**
Instance members belong to each object separately.
Static members belong to the class itself — shared by all objects.
**Example

class Counter {
int id; // instance — different for each object
static int count = 0; // static — shared, one copy only
Counter() {
count++;
id = count;
}
}

Top comments (0)