1️⃣ 객체지향(Object-Oriented) 이란?
✔ 정의
객체(Object)들이 서로 상호작용하며 프로그램을 구성하는 방식
- 현실 세계의 개념 → 프로그램으로 모델링
- 객체 = 속성(변수) + 동작(메소드)
✔ 인스턴스화(Instance)
클래스명 참조변수명 = new 클래스명();
Bicycle myBike = new Bicycle();
→ 클래스(설계도)로부터 실제 객체를 만드는 과정
2️⃣ 필드 (Field) — 객체의 상태 저장
| 종류 |
설명 |
선언 키워드 |
| 인스턴스 변수 |
객체마다 개별적으로 존재하는 변수 |
없음 |
| 클래스 변수 |
모든 객체가 공유하는 변수 |
static |
class Bike {
static int count; // 클래스 변수
String name; // 인스턴스 변수
}
3️⃣ 메소드(Method) — 객체의 동작 수행
| 종류 |
설명 |
| 인스턴스 메소드 |
객체 생성 후 호출 가능 |
| 클래스 메소드 |
static 사용, 객체 없이 호출 가능 |
static void run() { ... }
4️⃣ 객체지향의 3대 특징
| 개념 |
설명 |
| 캡슐화 |
객체 내부 속성과 동작을 외부에서 숨기고, 필요한 인터페이스만 제공 |
| 상속(Inheritance) |
부모(슈퍼 클래스)의 기능을 자식(서브 클래스)이 이어받음 |
| 다형성(Polymorphism) |
동일한 이름(메소드)이어도 상황/형태에 따라 다르게 동작 가능 |
|
|