🧠 개념 설명
1️⃣ 클래스란?
클래스는 설계도입니다. 객체를 만들기 위한 틀, 청사진이에요.
예를 들어 Person
이라는 클래스를 만들면, 사람이라는 공통 개념을 정의하는 거예요.
2️⃣ 객체란?
객체는 클래스에 따라 실제 메모리에 만들어진 실체(instance)에요.
하나의 클래스에서 여러 개의 객체를 만들 수 있어요.
3️⃣ 클래스의 구성요소
- 필드(field): 객체의 속성(변수)
- 메서드(method): 객체의 동작(함수)
- 생성자(constructor): 객체를 만들 때 호출되는 특수한 메서드
💻 예제 1 – 클래스 정의와 객체 생성
public class Person {
String name;
int age;
void introduce() {
System.out.println("안녕하세요, 저는 " + name + "이고, 나이는 " + age + "살이에요.");
}
}
public class ClassExample1 {
public static void main(String[] args) {
Person p1 = new Person(); // 객체 생성
p1.name = "알파";
p1.age = 999;
p1.introduce(); // 메서드 호출
}
}
🧩 Person
이라는 설계도로 p1
이라는 객체를 만들어서 사용한 예시입니다.
💻 예제 2 – 생성자 사용하기
public class Car {
String model;
int year;
// 생성자
public Car(String m, int y) {
model = m;
year = y;
}
void info() {
System.out.println("모델: " + model + ", 연식: " + year);
}
}
public class ClassExample2 {
public static void main(String[] args) {
Car c1 = new Car("Tesla", 2025);
c1.info();
}
}
🚗 Car
객체는 생성자에서 값을 직접 받아 초기화하는 방식이에요.
💻 예제 3 – 여러 객체 생성하기
public class Dog {
String name;
Dog(String n) {
name = n;
}
void bark() {
System.out.println(name + "가 멍멍!");
}
}
public class ClassExample3 {
public static void main(String[] args) {
Dog d1 = new Dog("초코");
Dog d2 = new Dog("보리");
d1.bark();
d2.bark();
}
}
🐶 같은 클래스로 여러 객체를 만들 수 있어요. 각각 독립적인 속성을 가집니다.
⚠️ 주의할 점
- 클래스 이름은 대문자 시작 (
Person
,Car
) - 객체는
new
키워드로 생성 - 생성자는 클래스 이름과 같아야 함 (리턴타입 없음!)
🧠 정리 한 줄 요약
클래스는 설계도, 객체는 실체!
자바는 클래스 기반 언어이기 때문에 객체 지향의 시작은 클래스로부터 시작된다!