본문 바로가기

언어/Java

[ Java ] 객체를 구성하는 property와 function에 대해서 알아보기

반응형

Java에서 객체(Object)는 클래스(Class)를 통해 정의되며, 객체의 구성 요소는 주로 속성(Property)과 함수(Function)로 나눌 수 있습니다. 속성은 객체의 상태(state)를 나타내고, 함수는 객체의 동작(behavior)을 정의합니다.

1. 속성 (Property)

속성은 객체의 데이터를 저장하는 변수입니다. 속성은 클래스 내에서 필드(Field) 또는 멤버 변수(Member Variable)로 정의됩니다. 각 객체는 속성 값을 가질 수 있으며, 이를 통해 객체의 상태를 나타낼 수 있습니다.

예제

다음은 Car 클래스의 속성을 정의하는 예제입니다:

public class Car {
    // 속성 정의
    private String color;
    private String model;
    private int year;

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

    // 속성에 접근하기 위한 메서드 (Getter)
    public String getColor() {
        return color;
    }

    public String getModel() {
        return model;
    }

    public int getYear() {
        return year;
    }

    // 속성을 설정하기 위한 메서드 (Setter)
    public void setColor(String color) {
        this.color = color;
    }

    public void setModel(String model) {
        this.model = model;
    }

    public void setYear(int year) {
        this.year = year;
    }
}

위 예제에서 color, model, yearCar 클래스의 속성입니다. 이러한 속성은 private로 선언되어 있으며, 접근자(Getter)와 설정자(Setter) 메서드를 통해 접근하고 설정할 수 있습니다.

2. 함수 (Function)

함수는 객체의 동작을 정의하는 메서드(Method)입니다. 메서드는 클래스 내에 정의되며, 객체가 수행할 수 있는 작업을 나타냅니다. 메서드는 객체의 상태를 변경하거나 특정 작업을 수행하는 데 사용됩니다.

예제

다음은 Car 클래스의 함수를 정의하는 예제입니다:

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 String getColor() {
        return color;
    }

    public String getModel() {
        return model;
    }

    public int getYear() {
        return year;
    }

    public void setColor(String color) {
        this.color = color;
    }

    public void setModel(String model) {
        this.model = model;
    }

    public void setYear(int year) {
        this.year = year;
    }

    // 함수 정의
    public void drive() {
        System.out.println("The car is driving.");
    }

    public void stop() {
        System.out.println("The car has stopped.");
    }
}

위 예제에서 drivestop 메서드는 Car 클래스의 함수입니다. 이러한 함수는 Car 객체의 동작을 정의합니다.

3. 속성(Property)과 함수(Function) 간의 관계

  • 속성:
    • 객체의 상태를 나타내는 변수입니다.
    • 클래스 내에서 필드 또는 멤버 변수로 정의됩니다.
    • 예: color, model, year 등.
  • 함수:
    • 객체의 동작을 정의하는 메서드입니다.
    • 클래스 내에서 정의되며, 객체의 상태를 변경하거나 특정 작업을 수행합니다.
    • 예: drive(), stop(), getColor(), setColor() 등.

4. 클래스, 속성, 함수의 통합 예제

다음은 Car 클래스에서 속성과 함수를 통합한 예제입니다:

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 String getColor() {
        return color;
    }

    public String getModel() {
        return model;
    }

    public int getYear() {
        return year;
    }

    public void setColor(String color) {
        this.color = color;
    }

    public void setModel(String model) {
        this.model = model;
    }

    public void setYear(int year) {
        this.year = year;
    }

    public void drive() {
        System.out.println("The car is driving.");
    }

    public void stop() {
        System.out.println("The car has stopped.");
    }

    public static void main(String[] args) {
        Car myCar = new Car("Red", "Toyota", 2020);
        myCar.drive();
        System.out.println("Color: " + myCar.getColor());
        myCar.setColor("Blue");
        System.out.println("Updated Color: " + myCar.getColor());
        myCar.stop();
    }
}

이 예제에서 Car 클래스는 속성(color, model, year)과 함수(drive, stop, 접근자 및 설정자 메서드)를 모두 포함하고 있습니다.main메서드에서는Car` 객체를 생성하고, 그 객체의 속성과 함수를 사용하는 예를 보여줍니다.

반응형