Backend
home
📚

자바 객체지향 프로그래임(OOP) 핵심 원칙 정리

생성 일시
2025/05/01 11:00
태그
Java
게시일
2025/05/01
최종 편집 일시
2025/05/01 14:55

OOP의 4대 특징

1. 캡슐화 (Encapsulation)

객체의 상태(데이터) 를 숨기고, 메소드를 통해서만 접근하도록 만든다.
장점: 외부에서 객체 내부를 함부로 건드리지 못하게 막음, 일관성 유지 가능.
public class BankAccount { private int balance; // 외부에서 직접 접근 못함 public void deposit(int amount) { if (amount > 0) { balance += amount; } } public int getBalance() { return balance; } }
Java
복사

2. 상속 (Inheritance)

부모 클래스의 기능을 자식 클래스가 물려받아 재사용할 수 있다.
장점: 코드 재사용 증가, 확장 용이.
class Animal { public void sound() { System.out.println("동물이 소리를 냅니다."); } } class Dog extends Animal { public void sound() { System.out.println("멍멍!"); } }
Java
복사

3. 다형성 (Polymorphism)

하나의 타입으로 여러 객체를 가리킬 수 있다.
장점: 코드를 유연하게 설계 가능 (ex: 부모 타입으로 자식 객체를 다룰 수 있음).
public class Main { public static void main(String[] args) { Animal animal = new Dog(); // 부모 타입으로 자식 객체 사용 animal.sound(); // "멍멍!" 출력 } }
Java
복사

4. 추상화 (Abstraction)

공통된 부분만 추출하여 인터페이스나 추상 클래스로 정의한다.
장점: 핵심 로직에 집중, 구현 세부사항은 숨김.
abstract class Shape { abstract void draw(); } class Circle extends Shape { void draw() { System.out.println("원을 그립니다."); } }
Java
복사