[Java] 객체지향 프로그래밍

강미연·2023년 3월 15일
0
post-thumbnail

객체란?

현실 세계에서 볼 수 있는 물건, 개념 등을 속성과 행동으로 나타낸 것이다.

예를 들어, 자동차라는 객체를 만들 때는 자동차가 가지고 있는 속성(색상, 모델명, 최고 속도 등)과 행동(달리기, 멈추기, 방향 전환 등)을 정의한다. 이렇게 정의된 객체를 컴퓨터 프로그램으로 표현하면, 객체가 가지고 있는 속성과 행동을 코드로 작성할 수 있다.

자바에서는 이러한 객체를 클래스라는 템플릿을 이용하여 만든다. 클래스는 객체가 가지는 속성과 행동을 정의하는데 사용된다. 이렇게 만들어진 객체는 다른 객체와 상호작용하며 프로그램이 실행된다.

객체지향 프로그래밍이란?

객체라는 개념을 중심으로 프로그래밍하는 방법이다.

자바 객체지향 프로그래밍에서는 상속, 다형성, 캡슐화 등의 개념을 사용하여 객체를 더욱 유연하게 만들 수 있다.

예를 들어, 상속을 이용하여 부모 클래스에서 정의된 속성과 행동을 자식 클래스에서 사용할 수 있으며, 다형성을 이용하여 여러 가지 타입의 객체를 동일한 방식으로 다룰 수 있다.

이러한 개념을 이용하면 객체지향 프로그래밍의 장점인 재사용성, 유지보수성 등을 높일 수 있다.

// 자동차 클래스 정의
public class Car {
    // 속성 정의
    String color;
    String model;
    int maxSpeed;
   
   // 생성자 정의
    public Car(String color, String model, int maxSpeed) {
        this.color = color;
        this.model = model;
        this.maxSpeed = maxSpeed;
    }
    
    // 행동 정의
    public void drive() {
        System.out.println("Driving at " + maxSpeed + " km/h");
    }
}

// 메인 클래스
public class Main {
    public static void main(String[] args) {
        // 객체 생성
        Car myCar = new Car("red", "Sedan", 200);
        
        // 객체 속성 사용
        System.out.println("My car is a " + myCar.color + " " + myCar.model);
        
        // 객체 행동 사용
        myCar.drive();
    }
}

위 코드에서 Car 클래스는 자동차의 속성과 행동을 정의하고, Main 클래스에서 Car 클래스의 객체를 생성하여 사용한다. Car 클래스에서는 color, model, maxSpeed와 같은 속성을 정의하고, 생성자를 이용하여 객체를 초기화한다. drive() 메소드는 자동차의 주행을 나타내는 행동을 정의한다.

Main 클래스에서는 Car 클래스의 객체 myCar를 생성하고, color와 model 속성을 출력하고, drive() 메소드를 호출하여 자동차를 주행시킨다. 이렇게 객체지향 프로그래밍을 이용하면, 자동차를 하나의 객체로 추상화하여 코드를 간결하고 유지보수하기 쉽게 만들 수 있다.

0개의 댓글