객체지향 프로그래밍이란 모든 데이터를 ‘객체(Object)’로 표현하고, 이 객체들을 조합하여 프로그램을 만드는 방식입니다.
예시:
자동차라는 객체는 데이터(색상, 모델명)와 기능(주행하기, 멈추기)을 갖고 있습니다.
객체는 실생활에서 볼 수 있는 것처럼, 특정한 속성(상태)과 기능(행동)을 가진 대상입니다.

객체지향 프로그래밍에는 대표적인 4가지 핵심 개념이 있습니다.
자동차의 세부 엔진 구조까지 알 필요 없이, ‘운전’ 기능만 사용하면 됨.
예시:
차량 클래스 → 자동차 클래스, 자전거 클래스
자동차와 자전거는 차량의 공통 속성(이동)을 상속받습니다.
예시:
같은 메서드 달리기(run)를 호출했을 때, 객체가 자동차냐 사람이냐에 따라 다르게 동작합니다.
예시: Java
// 클래스 정의
class Car {
String color; // 속성
String model;
void drive() { // 기능(메서드)
System.out.println("차가 주행 중입니다.");
}
}
// 객체 생성(인스턴스화)
Car myCar = new Car();
myCar.color = "빨간색";
myCar.model = "Tesla";
myCar.drive(); // "차가 주행 중입니다." 출력
객체지향 언어의 예시:
Java
C++
Python
C#
Kotlin
Ruby 등

객체지향 프로그래밍(OOP)은 현실 세계를 ‘객체’라는 개념으로 추상화하여, 객체 간의 상호작용을 통해 프로그램을 구성하는 방식으로, 캡슐화·추상화·상속·다형성의 특징을 갖고 있습니다.