본문 바로가기
Java/JAVA

Java - 객체 지향 프로그래밍 (OOP)

by 하니__ 2024. 5. 31.

 

 

 

 

 

 

 

객체 지향 프로그래밍

Object Oriented Programing

 

우선 그렇다면 객체는 무엇인가

 

일상속 '물건'이나 '개념'을

컴퓨터 프로그램으로 표현한 것인데

예를 들어, 휴대폰, 자동차, 책, 사람 같은 것들을 말할 수 있겠다

 

DB에서 테이블과 컬럼 이라고 생각하면 되겠다

 

자동차로 예를 들면

색상, 모델명(차 이름), 연료 종류(휘발유, 경유 등)

이런식의 속성이 있을것이고

 

주행을 한다던지, 동작을 멈춘다던지, 경적을 울린다던지 하는

이런식의 행동이 있을것이다

 

그렇다면 자동차은 클래스이고 이 클래스의 객체는

각각의 오브젝트, 각각의 자동차라고 할 수 있겠다

객체의 속성으로는 색, 이름, 연료종류 같은것들이 있을것이고

객체의 행동으로는 주행, 브레이크, 경적 같은 것들이 있을것이다

 

 

그래서 

 

 

public class Car {
    // 속성 (특징)
    String color;
    String model;
    String fuelType;
    
    public Car(String color, String model, String fuelType) {
        this.color = color;
        this.model = model;
        this.fuelType = fuelType;
    }

이런식으로 클래스와 속성을 만들어주고

 

void drive() {
    System.out.println(model + "가 주행 중입니다.");
}

void stop() {
    System.out.println(model + "가 멈췄습니다.");
}

void honk() {
    System.out.println("경적을 울립니다!");
}

이런식으로 행동들을 만들어주었을때

 

 

 

Car myCar = new Car("빨간색", "소나타", "휘발유");

 

이런식으로 객체를 생성해준 다음

 

System.out.println("내 차의 색상: " + myCar.color);
System.out.println("내 차의 모델명: " + myCar.model);

myCar.drive();
myCar.stop();
myCar.honk();

 

이런식으로

객체의 속성을 사용 할 수 있고

객체의 행동을 사용 할 수 있게 된다

 

이 말인 즉, 객체를 함수처럼 사용 가능하게 한다

결과물들은

내 차의 색상: 빨간색
내 차의 모델명: 소나타
소나타가 주행 중입니다.
소나타가 멈췄습니다.
경적을 울립니다!

 

라고 나오게 된다

 

 

위와같이 

컴퓨터프로그램으로 표현하는것을

객체지향 프로그래밍이라 한다

'Java > JAVA' 카테고리의 다른 글

Java - 다중 상속 Interface  (0) 2024.06.03
Java - 상속 Override, Super, 추상클래스 Abstract  (1) 2024.06.03
Java - Overloading  (0) 2024.05.31
Java - Getter, Setter 함수  (0) 2024.05.31
Java - 접근 제어자  (0) 2024.05.31