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) 동일한 이름(메소드)이어도 상황/형태에 따라 다르게 동작 가능