✅ 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 |
댓글