📋 객체 지향 프로그래밍(OOP: Object-Oriented Programming)

✅ 객체지향(OOP)과 절차지향(PP)

package section08;

public class BankProcedural {
    // 전역 변수로 계좌 잔액 관리
    static double balance = 0.0;

    // 입금 함수
    public static void deposit(double amount) {
        balance += amount;
    }

    // 출금 함수
    public static void withdraw(double amount) {
        balance -= amount;
    }

    // 잔액 출력 함수
    public static void printBalance() {
        System.out.println("잔액: " + balance);
    }

    public static void main(String[] args) {
        deposit(1000);
        printBalance();
        withdraw(500);
        printBalance();
    }
}
package section08;

// BankAccount 클래스 정의
class BankAccount {
    private double balance;

    // 생성자
    public BankAccount() {
        this.balance = 0.0;
    }

    // 입금 메서드
    public void deposit(double amount) {
        balance += amount;
    }

    // 출금 메서드
    public void withdraw(double amount) {
        balance -= amount;
    }

    // 잔액 출력 메서드
    public void printBalance() {
        System.out.println("잔액: " + balance);
    }
}

public class BankOOP {
    public static void main(String[] args) {
        // BankAccount 객체 생성
        BankAccount account = new BankAccount();

        // 입금, 출금, 잔액 출력
        account.deposit(1000);
        account.printBalance();
        account.withdraw(500);
        account.printBalance();
    }
}

✅ 객체지향 프로그래밍 구현

  1. 객체 생성하는 클래스 정의
  2. 각 객체의 속성, 기능 구현
  3. 각 객체가 제공하는 기능들 간의 소통(메시지 전달) 통해 객체간의 협력 구현

✅ 객체지향의 특징

📋 클래스와 객체