객체의 사전적인 의미는 현실 세계에서 실제로 존재하는 것을 의미합니다. 예를 들어, 자동차는 객체일 수 있으며, 자동차는 특정 상태(색상, 속도 등)를 가지고 있고, 특정 행동(주행, 정지 등)을 할 수 있습니다.
이를 프로그래밍 관점에서 보면 '객체'는 현실 세계의 개체나 개념을 소프트웨어로 모델링한 것입니다. 각 객체는 상태, 행동, 식별성을 가지고 있습니다.
객체는 데이터를 저장할 수 있습니다. Java에서는 객체의 상태를 필드(field)라는 변수로 표현합니다. 이 필드들은 객체가 가지는 속성을 나타냅니다. 예를 들어, 자동차 객체는 색상과 현재 속도와 같은 상태를 가질 수 있습니다.
public class Car {
private String color; // 자동차의 색상을 나타내는 필드
private int speed; // 자동차의 현재 속도를 나타내는 필드
}
객체는 특정 작업을 수행할 수 있습니다. 이러한 작업은 메서드(method)로 정의됩니다. 예를 들어, 자동차 객체는 가속하거나 브레이크를 밟는 행동을 할 수 있습니다.
public class Car {
// 가속하는 메서드
public void accelerate() {
speed += 10;
}
// 브레이크를 밟는 메서드
public void brake() {
speed -= 5;
}
}
각 객체는 고유한 식별자를 가지며, 다른 객체와 구별됩니다. Java에서는 이 식별자가 객체를 메모리에서 구별하는 데 사용됩니다. 예를 들어, 여러 개의 자동차 객체가 있을 때 각 객체는 고유한 식별자를 가지고 서로 다릅니다.
Car myCar1 = new Car(); // 첫 번째 자동차 객체
Car myCar2 = new Car(); // 두 번째 자동차 객체