반응형
 

클래스와 객체

프로그래밍 언어에서 클래스(Class)와 객체(Object)는 객체 지향 프로그래밍(Object-Oriented Programming, OOP)의 핵심 개념입니다. 이를 이해하면 복잡한 문제를 더 구조적이고 효율적으로 해결할 수 있습니다. 이 글에서는 클래스와 객체의 개념을 설명하고, 자바(Java)에서 이를 다루는 방법을 예시와 함께 소개합니다.


클래스(Class)란?

클래스는 객체를 생성하기 위한 청사진(Blueprint)이나 설계도입니다. 클래스는 데이터(필드)와 이 데이터를 조작하는 메서드로 구성됩니다. 예를 들어, 현실 세계에서 "자동차"는 하나의 클래스에 해당할 수 있습니다. 이 클래스는 다음과 같은 속성과 동작을 가질 수 있습니다:

  • 속성(필드): 색상, 제조사, 속도
  • 동작(메서드): 가속하기, 브레이크 밟기, 방향 전환

자바에서 클래스는 class 키워드를 사용하여 정의됩니다.

public class Car {
    // 필드
    String color;
    String manufacturer;
    int speed;

    // 메서드
    void accelerate() {
        speed += 10;
        System.out.println("속도가 증가했습니다. 현재 속도: " + speed);
    }

    void brake() {
        speed -= 10;
        if (speed < 0) {
        	speed = 0;
    	}
        System.out.println("속도가 감소했습니다. 현재 속도: " + speed);
    }
}

객체(Object)란?

객체는 클래스로부터 생성된 실제 사용 가능한 인스턴스(instance)입니다. 자동차라는 클래스를 정의한 후, "빨간 자동차"와 "파란 자동차"는 각각 클래스의 인스턴스, 즉 객체가 됩니다. 객체는 클래스가 정의한 속성과 메서드를 사용하여 동작합니다.

자바에서 객체는 new 키워드를 사용하여 생성됩니다.

public class Main {
	public static void main(String[] args) {
        // Car 클래스의 객체 생성
        Car myCar = new Car();

        // 객체의 필드 초기화
        myCar.color = "빨간색";
        myCar.manufacturer = "현대";
        myCar.speed = 0;

        // 객체의 메서드 호출
        myCar.accelerate();
        myCar.brake();
    }
}

출력 결과는 다음과 같습니다:

 
속도가 증가했습니다. 현재 속도: 10
속도가 감소했습니다. 현재 속도: 0

클래스와 객체의 관계

클래스와 객체의 관계는 "설계도와 제품"에 비유할 수 있습니다.

  • 클래스는 설계도이며, 객체는 설계도를 기반으로 만들어진 실제 제품입니다.
  • 클래스는 객체의 구조와 동작을 정의하고, 객체는 이를 활용하여 실제 작업을 수행합니다.

자바에서 클래스와 객체 활용하기

자바에서 클래스와 객체를 사용하는 일반적인 과정은 다음과 같습니다:

  1. 클래스 정의: 객체의 구조와 동작을 정의합니다.
  2. 객체 생성: 클래스의 인스턴스를 생성합니다.
  3. 필드 및 메서드 사용: 생성된 객체를 통해 데이터를 저장하거나 조작합니다.

다음은 또 다른 간단한 예입니다:

public class Person {
    // 필드
    String name;
    int age;

    // 메서드
    void introduce() {
	    System.out.println("안녕하세요, 제 이름은 " + name + "이고, 나이는 " + age + "살입니다.");
    }
}

public class Main {
    public static void main(String[] args) {
        // Person 클래스의 객체 생성
        Person person = new Person();

        // 객체의 필드 초기화
        person.name = "홍길동";
        person.age = 25;

        // 객체의 메서드 호출
        person.introduce();
    }
}

출력 결과는 다음과 같습니다:

 
안녕하세요, 제 이름은 홍길동이고, 나이는 25살입니다.

마치며

클래스와 객체는 자바를 포함한 객체 지향 프로그래밍 언어에서 매우 중요한 요소입니다. 클래스를 사용하면 코드 재사용성을 높이고, 객체를 사용하면 데이터와 동작을 논리적으로 묶을 수 있습니다. 자바의 클래스와 객체를 잘 활용하면 복잡한 문제도 체계적으로 해결할 수 있습니다.

반응형

'개발 부트캠프 > 백엔드' 카테고리의 다른 글

[Java] 상속, 오버로딩, 오버라이딩  (1) 2025.01.03
[Java] static  (0) 2025.01.03
[Java] 패키지 & 접근 제어자  (0) 2025.01.03
[Java] 생성자  (0) 2025.01.03
[Java] GC(Garbage Collection)  (2) 2024.12.06

+ Recent posts