✅ 1. 클래스(Class)란?
- 클래스는 객체를 만들기 위한 설계도입니다.
- 하나의 클래스는 속성(필드)과 기능(메서드)를 포함합니다.
class Car {
String color; // 속성 (Property, Field)
int speed; // 속성
void drive() { // 메서드
System.out.println("달립니다!");
}
void stop() {
System.out.println("멈춥니다!");
}
}
이 Car 클래스는 "자동차"라는 개념을 표현한 틀(설계도)입니다.
✅ 2. 객체(Object)란?
- 클래스는 설계도이고, 객체는 그 설계도를 바탕으로 만들어진 실제 실체입니다.
- 클래스를 기반으로
new키워드를 사용해서 객체를 생성합니다.
Car myCar = new Car(); // myCar 객체 생성
→ myCar는 Car 클래스의 인스턴스(instance) 라고도 부릅니다.
✅ 3. 속성 (Property, Field)
- 객체가 가지는 데이터(상태)입니다.
- 클래스 내부에 선언된 변수들로, 객체마다 독립적인 값을 가집니다.
myCar.color = "빨강";
myCar.speed = 100;
→ myCar라는 객체의 color, speed는 각각 이 객체만의 속성입니다.
✅ 4. 메서드(Method)
- 객체가 수행할 수 있는 기능 또는 동작입니다.
- 클래스 내부에 정의된 함수(function)라고 보면 됩니다.
myCar.drive(); // 출력: 달립니다!
myCar.stop(); // 출력: 멈춥니다!
→ drive(), stop()은 Car 클래스의 기능이고, myCar가 그것을 행동하는 것
.으로 메서드 호출
✅ 5. 파라미터 (Parameter) vs 아규먼트 (Argument)
| 용어 | 의미 | 위치 | 예시 |
|---|---|---|---|
| Parameter (매개변수) | 메서드를 정의할 때 외부 입력을 받기 위한 변수 | 메서드 선언부 | void setAge(int a)의 int a |
| Argument (인자) | 메서드를 호출할 때 실제로 전달하는 값 | 메서드 호출 시 | setAge(25)의 25 |
📌 예시:
class Person {
void setAge(int a) { // a: 파라미터 (parameter)
age = a;
}
}
p1.setAge(25); // 25: 아규먼트 (argument)
✅ 6. 객체, 클래스, 메서드, 속성 관계도
class Person {
String name; // 속성 (Property)
int age; // 속성
void sayHello() { // 메서드 (Method)
System.out.println("안녕하세요! 저는 " + name + "입니다.");
}
void setInfo(String n, int a) { // 파라미터(Parameter)
name = n;
age = a;
}
}
// 객체 생성
Person p = new Person(); // 객체 (Object)
p.setInfo("영희", 22); // 아규먼트 (Argument)
p.sayHello(); // 메서드 호출
✅ 7. 메모리 구조 간단 설명
| 메모리 영역 | 내용 |
|---|---|
| Stack | 참조 변수 (p1 등) 저장 |
| Heap | new로 생성된 객체 저장 (Person 객체, 필드 포함) |
| Method Area | 클래스의 정의 정보 (Person 클래스 구조, 메서드 등) 저장 |
✅ 8. 클래스는 어떤 역할을 할까?
| 역할 | 예시 |
|---|---|
| 설계도 역할 | Car, Person, Student, Account 등 |
| 속성 정의 | 이름, 나이, 색상, 속도 등 |
| 기능 정의 | 달리기(), 말하기(), 입금(), 출금() 등 |
✅ 관계도 요약
[Class] = 설계도
↓
[Object] = 실제 인스턴스 (new 로 생성)
→ 속성 (Property): 객체의 데이터
→ 메서드 (Method): 객체의 동작
→ 파라미터 (Parameter): 메서드 정의 시 입력 변수
→ 아규먼트 (Argument): 메서드 호출 시 전달값
✅ 용어 요약 표
| 용어 | 뜻 | 위치 | 예시 |
|---|---|---|---|
| Class | 객체의 설계도 | class 선언 | class Person {} |
| Object | 클래스를 기반으로 생성된 실체 | new로 생성 |
new Person() |
| Property / Field | 객체의 데이터 상태 | 클래스 내부 변수 | String name; |
| Method | 객체가 수행하는 동작 | 클래스 내부 함수 | void introduce() |
| Parameter | 메서드 정의 시 입력 변수 | 선언부 | void setAge(int a) |
| Argument | 메서드 호출 시 전달하는 값 | 호출부 | setAge(25) |
📌 객체 지향 핵심 요약
- 클래스: 설계도
- 객체: 설계도로 만든 실제 물건
- 속성(필드): 객체가 가진 데이터
- 메서드: 객체가 수행할 수 있는 기능
'Java' 카테고리의 다른 글
| [Java] Java에서 배열 생성과 객체 생성의 차이 정리 (0) | 2025.04.02 |
|---|---|
| [Java] 문자열을 검사하는 방법 - String isEmpty(), isBlank(), null 체크 (0) | 2025.04.01 |
| [Java] 정렬 알고리즘 (0) | 2025.03.25 |
| [Java] 자바 메인 함수(Main Function) (0) | 2025.03.24 |
| Java / Python / JavaScript 형변환(type casting) 정리 (0) | 2025.03.23 |
댓글