비전공자들을 위한 OOP 개념 잡기

WON HOYEON·2024년 6월 29일

💡객체(Object)란?

간단히 말하면, 객체는 우리가 현실에서 인식할 수 있는 사물이나 추상적인 개념등을 프로그래밍으로 표현한 것이다.

객체의 구성요소

객체는 상태(속성), 동작(메소드)를 가질 수있는데
쉽게 설명하자면,

예를 들어, 자동차라는 객체가 있다고 생각해보자.
자동차라는 객체에 자동차의 공통적인 속성(색상, 모델 등)과 메소드(출발,정지 등)을 가지고 있다.

이를 프로그래밍에서는 'Car'라는 클래스를 정의하여 자동차의 객체를 생성하고, 속성과 동작(메소드)를 가질 수 있다.

클래스(Class)란?

객체(오브젝트)를 생성하기위한 설계 도면, 템플릿을 말한다.

클래스의 속성(멤버변수)

자동차로 예시를 들어 클래스를 표현하자면 자동차는 여러 색상, 모델 , 속도 등 여러 특징등이 있다.
이러한 특징들은 클래스 내의 속성(멤버 변수)로 표현 된다.

public class Car {
    String color;       // 색상
    String model;       // 모델
    int maxSpeed;       // 최대 속도
    int currentSpeed;   // 현재 속도
}

클래스의 동작 (메소드)

자동차는 출발, 정지, 가속, 감속 등 여러 동작(메소드)등을 할 수 있는데 이러한 동작들은
클래스 내의 메소드로 정의된다.

// 출발 메소드
public void start() {
    System.out.println("자동차가 출발합니다.");
}

// 정지 메소드
public void stop() {
    System.out.println("자동차가 정지합니다.");
}

// 가속 메소드
public void accelerate(int amount) {
    currentSpeed += amount;
    System.out.println("속도가 " + amount + "만큼 증가하였습니다.");
}

// 감속 메소드
public void decelerate(int amount) {
    currentSpeed -= amount;
    System.out.println("속도가 " + amount + "만큼 감소하였습니다.");
}

클래스 객체의 인스턴스 화

클래스를 이용하여 객체를 생성 할 수 있는데,
이를 객체 인스턴스화라고 한다.

public class Main {
    public static void main(String[] args) {
        // Car 클래스를 사용하여 객체 생성
        Car myCar = new Car();
        myCar.color = "Red";
        myCar.model = "Sonata";
        myCar.maxSpeed = 200;
    // 객체의 메소드 호출
    myCar.start();          // 자동차가 출발합니다.
    myCar.accelerate(50);   // 속도가 50만큼 증가하였습니다.
    myCar.decelerate(20);   // 속도가 20만큼 감소하였습니다.
    myCar.stop();           // 자동차가 정지합니다.
}

}

요약하자면

  • 클래스는 객체를 생성하기 위한 설계 도면

  • 객체는 클래스의 인스턴스로, 속성과 동작을 가지고 있는 프로그래밍의 기본 단위

  • 메서드는 객체가 수행할 수 있는 동작을 정의한 코드 블록

profile
分からなかったことを整理し、後から見返すための記録です。

0개의 댓글