Java에서 class란

찌끅·2024년 9월 25일

Java에서 class란

Java에서 클래스는 객체 지향 프로그래밍의 기본 구성 요소로, 속성(필드)과 동작(메서드)을 정의하는 템플릿이다. 클래스는 현실 세계의 사물이나 개념을 모델링하는 데 사용된다.

클래스의 기본 개념

1. 클래스 정의

클래스는 class 키워드를 사용하여 정의하며, 필드와 메서드로 구성된다. 필드는 객체의 상태를 나타내고, 메서드는 객체의 동작을 정의한다.

public class Car {
    // 필드
    private String color;
    private String model;
    private int year;

    // 생성자
    public Car(String color, String model, int year) {
        this.color = color;
        this.model = model;
        this.year = year;
    }

    // 메서드
    public void displayInfo() {
        System.out.println("차종: " + model + ", 색상: " + color + ", 연식: " + year);
    }
}

2. 객체 생성

클래스에서 객체를 생성하려면 new 키워드를 사용한다.

public class Main {
    public static void main(String[] args) {
        // Car 클래스의 객체 생성
        Car myCar = new Car("빨강", "소나타", 2020);
        myCar.displayInfo(); // 차종: 소나타, 색상: 빨강, 연식: 2020
    }
}

다른 예제

아래 예제에서는 BankAccount 클래스를 정의하여 은행 계좌를 모델링하고, 이 클래스에서 입금과 출금을 관리하는 방법을 보여준다.

1. BankAccount 클래스 정의

public class BankAccount {
    // 필드
    private String accountNumber;
    private double balance;

    // 생성자
    public BankAccount(String accountNumber) {
        this.accountNumber = accountNumber;
        this.balance = 0.0; // 초기 잔액 0
    }

    // 입금 메서드
    public void deposit(double amount) {
        if (amount > 0) {
            balance += amount;
            System.out.println(amount + "원이 입금되었습니다.");
        } else {
            System.out.println("잘못된 금액입니다.");
        }
    }

    // 출금 메서드
    public void withdraw(double amount) {
        if (amount > 0 && amount <= balance) {
            balance -= amount;
            System.out.println(amount + "원이 출금되었습니다.");
        } else {
            System.out.println("출금할 수 있는 잔액이 부족합니다.");
        }
    }

    // 잔액 조회 메서드
    public void displayBalance() {
        System.out.println("계좌 " + accountNumber + "의 현재 잔액은 " + balance + "원입니다.");
    }
}

2. Main 클래스에서 사용하기

public class Main {
    public static void main(String[] args) {
        // BankAccount 객체 생성
        BankAccount account = new BankAccount("123-456-789");

        // 잔액 조회
        account.displayBalance(); // 계좌 123-456-789의 현재 잔액은 0.0원입니다.

        // 입금
        account.deposit(10000); // 10000원이 입금되었습니다.
        account.displayBalance(); // 계좌 123-456-789의 현재 잔액은 10000.0원입니다.

        // 출금
        account.withdraw(5000); // 5000원이 출금되었습니다.
        account.displayBalance(); // 계좌 123-456-789의 현재 잔액은 5000.0원입니다.

        // 출금 (잔액 부족)
        account.withdraw(6000); // 출금할 수 있는 잔액이 부족합니다.
    }
}

3. 코드 설명

  • BankAccount 클래스는 accountNumberbalance라는 두 개의 필드를 가지고 있다.
  • 생성자는 계좌 번호를 받고, 초기 잔액을 0으로 설정한다.
  • deposit 메서드는 긍정적인 금액을 입금하는 역할을 한다.
  • withdraw 메서드는 현재 잔액 내에서 출금을 허용한다.
  • displayBalance 메서드는 현재 잔액을 출력한다.

0개의 댓글