Java 클래스와 객체 기초

자바는 객체지향 프로그래밍(OOP) 언어로, 모든 로직은 클래스 내에 존재한다.

현실 세계의 대상을 추상화하여 코드로 구현하는 클래스와 객체의 핵심 개념을 분석한다.

클래스: 객체의 설계도

클래스는 속성(Field)과 행위(Method)를 정의하는 템플릿이다.

// 클래스 정의
public class Car {
    // 1. 속성 (필드)
    private String model;
    private int speed;

    // 2. 생성자 (초기화)
    public Car(String model) {
        this.model = model;
        this.speed = 0;
    }

    // 3. 행위 (메서드)
    public void accelerate(int increment) {
        speed += increment;
        System.out.println(model + " 가속: " + speed + "km/h");
    }

    public void stop() {
        speed = 0;
        System.out.println(model + " 정지");
    }
}

객체: 설계도를 기반으로 생성된 실체

new 키워드를 사용하여 클래스로부터 객체(인스턴스)를 생성하고 메모리에 할당한다.

public class Main {
    public static void main(String[] args) {
        // 객체 생성 (인스턴스화)
        Car myCar = new Car("Tesla Model 3");
        Car yourCar = new Car("Hyundai Ioniq 5");

        // 메서드 호출을 통한 상호작용
        myCar.accelerate(50);
        yourCar.accelerate(30);
        myCar.stop();
    }
}

OOP의 주요 특징 분석

  • 캡슐화: 필드를 private으로 숨기고 메서드를 통해서만 접근하게 하여 데이터를 보호한다.
  • 독립성: 각 객체는 자신만의 고유한 상태(메모리 공간)를 유지한다.
  • 재사용성: 한 번 정의한 클래스를 통해 무수히 많은 객체를 생성할 수 있다.

P.S

클래스는 설계도이며 객체는 그 설계도로 만든 실제 제품이다.

자바 개발의 핵심은 현실의 복잡한 문제를 클래스 단위로 잘 쪼개고, 객체 간의 협력 구조를 설계하는 데 있는 것 같다.

Author avatar

웨이호프

WordPress creator and blogger.

View all posts