📌 자바의 핵심! 객체 지향 프로그래밍 (OOP)


✅ 절차지향 프로그래밍 (Procedural Programming)

예시

int sum(int[] numbers) {
    int result = 0;
    for (int num : numbers) result += num;
    return result;
}

✳️ 규모가 작거나 단순한 프로그램에서는 효율적이지만, 유지보수나 확장성 면에서 불리


✅ 객체지향 프로그래밍 (Object-Oriented Programming)


💡 절차지향 vs 객체지향

구분 절차지향 객체지향
구조 Top-Down Bottom-Up
중심 함수 중심 객체 중심
데이터 함수와 분리 데이터와 메서드를 묶음 (캡슐화)
재사용 함수 단위 클래스/객체 단위
유지보수 복잡하고 어려움 쉬움 (모듈화)
유연성 낮음 높음 (다형성)