πŸ“•JAVA

[JAVA] 객체 지ν–₯ ν”„λ‘œκ·Έλž˜λ°

λΉ™λ””μš© 2023. 6. 13.

1. 절차 지ν–₯ ν”„λ‘œκ·Έλž˜λ°κ³Ό 객체 지ν–₯ ν”„λ‘œκ·Έλž˜λ°

1) 절차 지ν–₯ ν”„λ‘œκ·Έλž˜λ°

- μ‹€ν–‰ μˆœμ„œλ₯Ό μ€‘μš”ν•˜κ²Œ μƒκ°ν•œλ‹€.

- ν”„λ‘œκ·Έλž¨μ˜ 흐름을 순차적으둜 λ”°λ₯΄λ©° μ²˜λ¦¬ν•˜λŠ” 방식 (μ–΄λ–»κ²Œλ₯Ό 쀑심)

 

2) 객체 지ν–₯ ν”„λ‘œκ·Έλž˜λ°

- 이름과 같이 객체λ₯Ό μ€‘μš”ν•˜κ²Œ μƒκ°ν•œλ‹€.

- 객체듀 κ°„μ˜ μƒν˜Έμž‘μš©μ„ μ€‘μ‹¬μœΌλ‘œ ν•˜λŠ” ν”„λ‘œκ·Έλž˜λ° 방식 ( 무엇을이 쀑심)

3) 절자 지ν–₯ μ½”λ“œλ₯Ό 객체 지ν–₯ μ½”λ“œλ‘œ λ³€κ²½

1. 절차 지ν–₯ 

public class BankAccount {
    private static int accountBalance = 0;

    // μž”μ•‘ 확인 λ©”μ„œλ“œ
    public static void checkBalance() {
        System.out.println("ν˜„μž¬ μž”μ•‘μ€ " + accountBalance + "원 μž…λ‹ˆλ‹€.");
    }

    // μž…κΈˆ λ©”μ„œλ“œ
    public static void deposit(int amount) {
        accountBalance += amount;
        System.out.println(amount + "원을 μž…κΈˆν–ˆμŠ΅λ‹ˆλ‹€.");
    }

    // 좜금 λ©”μ„œλ“œ
    public static void withdraw(int amount) {
        if (accountBalance >= amount) {
            accountBalance -= amount;
            System.out.println(amount + "원을 μΆœκΈˆν–ˆμŠ΅λ‹ˆλ‹€.");
        } else {
            System.out.println("μž”μ•‘μ΄ λΆ€μ‘±ν•©λ‹ˆλ‹€.");
        }
    }

    // 메인 λ©”μ„œλ“œ
    public static void main(String[] args) {
        checkBalance();   // ν˜„μž¬ μž”μ•‘μ€ 0 원 μž…λ‹ˆλ‹€.
        deposit(50000);   // 50000 원을 μž…κΈˆν–ˆμŠ΅λ‹ˆλ‹€.
        checkBalance();   // ν˜„μž¬ μž”μ•‘μ€ 50000 원 μž…λ‹ˆλ‹€.
        withdraw(20000);  // 20000 원을 μΆœκΈˆν–ˆμŠ΅λ‹ˆλ‹€.
        checkBalance();   // ν˜„μž¬ μž”μ•‘μ€ 30000 원 μž…λ‹ˆλ‹€.
    }
}

- ν”„λ‘œκ·Έλž¨μ΄ μœ„μ—μ„œ μ•„λž˜λ‘œ 순차적으둜 싀행됨.  (μž”μ•‘ 확인 -> μž…κΈˆ -> μž”μ•‘ 확인 -> 좜금)

- 데이터와 λ©”μ„œλ“œκ°€ λΆ„λ¦¬λ˜μ–΄ 있음.

 

2. 객체 지ν–₯

public class BankAccount {
    private int balance;

    // μƒμ„±μž
    public BankAccount() {
        this.balance = 0; // κ³„μ’Œμ˜ 초기 μž”μ•‘μ„ 0으둜 μ„€μ •
    }

    // μž”μ•‘ 확인 λ©”μ„œλ“œ
    public void checkBalance() {
        System.out.println("ν˜„μž¬ μž”μ•‘μ€ " + this.balance + "원 μž…λ‹ˆλ‹€.");
    }

    // μž…κΈˆ λ©”μ„œλ“œ
    public void deposit(int amount) {
        this.balance += amount;
        System.out.println(amount + "원을 μž…κΈˆν–ˆμŠ΅λ‹ˆλ‹€.");
    }

    // 좜금 λ©”μ„œλ“œ
    public void withdraw(int amount) {
        if (this.balance >= amount) {
            this.balance -= amount;
            System.out.println(amount + "원을 μΆœκΈˆν–ˆμŠ΅λ‹ˆλ‹€.");
        } else {
            System.out.println("μž”μ•‘μ΄ λΆ€μ‘±ν•©λ‹ˆλ‹€.");
        }
    }

    // 메인 λ©”μ„œλ“œ
    public static void main(String[] args) {
        BankAccount account = new BankAccount();   // 객체 생성
        account.checkBalance();   // ν˜„μž¬ μž”μ•‘μ€ 0 원 μž…λ‹ˆλ‹€.
        account.deposit(50000);   // 50000 원을 μž…κΈˆν–ˆμŠ΅λ‹ˆλ‹€.
        account.checkBalance();   // ν˜„μž¬ μž”μ•‘μ€ 50000 원 μž…λ‹ˆλ‹€.
        account.withdraw(20000);   // 20000 원을 μΆœκΈˆν–ˆμŠ΅λ‹ˆλ‹€.
        account.checkBalance();   // ν˜„μž¬ μž”μ•‘μ€ 30000 μ›μž…λ‹ˆλ‹€.
    }
}

- 둜직 쀑볡이 제거 됨.

- μƒνƒœμ™€ ν–‰μœ„λ₯Ό ν•˜λ‚˜λ‘œ λ¬Άμ–΄ 관리.

 

좜처 : κΉ€μ˜ν•œμ˜ μ‹€μ „ μžλ°”-기본편 

λŒ“κΈ€