JAVA/포스팅

자바 객체의 구성요소 속성과 기능

짜집퍼박사(짜박) 2023. 11. 6. 11:51

자바 객체의 구성요소는 주로 "속성"과 "기능(또는 동작)"으로 나뉩니다. 이 두 가지 구성요소는 객체 지향 프로그래밍 (OOP)의 핵심 개념을 형성하며, 객체의 특성과 동작을 정의합니다.

 

1. 속성 (Attributes 또는 Properties)

- 객체의 속성은 객체의 상태나 데이터를 나타냅니다. 이러한 속성은 객체의 특성을 정의하고 객체의 현재 상태를 표현합니다.
- 속성은 객체가 가지는 데이터를 저장하는 데 사용되며, 이 데이터는 멤버 변수(인스턴스 변수)로 클래스 내부에 정의됩니다.
- 예를 들어, 자동차 객체의 속성으로는 모델명, 색상, 최대 속도, 현재 속도 등이 있을 수 있습니다.

 

2. 기능 또는 동작 (Methods 또는 Functions)

- 객체의 기능 또는 동작은 객체가 수행하는 작업, 동작 또는 함수를 나타냅니다.
기능은 객체의 동작을 구현하고, 객체의 상태를 조작하거나 다른 객체와 상호 작용하는 데 사용됩니다.
- 기능은 클래스 내에서 메서드로 정의되며, 객체가 특정 작업을 수행할 때 호출됩니다.
- 예를 들어, 자동차 객체의 메서드로는 "주행", "정지", "가속", "감속"과 같은 동작이 있을 수 있습니다.

 

예시

public class Car {
    // 속성 (멤버 변수)
    String model;       // 모델명
    String color;       // 색상
    int maxSpeed;       // 최대 속도
    int currentSpeed;   // 현재 속도

    // 생성자 (Constructor)
    public Car(String model, String color, int maxSpeed) {
        this.model = model;
        this.color = color;
        this.maxSpeed = maxSpeed;
        this.currentSpeed = 0; // 초기 속도는 0
    }

    // 메서드 (기능 또는 동작)
    public void start() {
        System.out.println(model + " 자동차가 출발합니다.");
    }

    public void stop() {
        System.out.println(model + " 자동차가 정지합니다.");
    }

    public void accelerate(int speed) {
        currentSpeed += speed;
        if (currentSpeed > maxSpeed) {
            currentSpeed = maxSpeed;
        }
        System.out.println(model + " 자동차가 가속하여 현재 속도: " + currentSpeed);
    }

    public void decelerate(int speed) {
        currentSpeed -= speed;
        if (currentSpeed < 0) {
            currentSpeed = 0;
        }
        System.out.println(model + " 자동차가 감속하여 현재 속도: " + currentSpeed);
    }
}

public class Main {
    public static void main(String[] args) {
        Car myCar = new Car("SUV", "파란색", 200);
        myCar.start();
        myCar.accelerate(80);
        myCar.decelerate(30);
        myCar.stop();
    }
}

위의 예시에서 Car 클래스는 속성과 기능을 가진 객체를 정의합니다. 객체의 속성으로 모델명, 색상, 최대 속도, 현재 속도가 있으며, 메서드로는 출발, 정지, 가속, 감속과 같은 동작이 정의되어 있습니다. 객체를 생성하고 이러한 속성과 메서드를 사용하여 객체의 상태와 동작을 조작할 수 있습니다.

'JAVA > 포스팅' 카테고리의 다른 글

자바 객체 배열  (0) 2023.11.06
자바 인스턴스의 생성과 사용  (0) 2023.11.06
자바 객체의 구성요소  (0) 2023.11.06
자바 객체와 인스턴스  (0) 2023.11.06
자바 클래스와 객체의 정의와 용도  (0) 2023.11.06