본문 바로가기
Java

[Java] 객체(Object), 클래스(Class), 그리고 메서드(Method)와 속성(Property, 필드)

by clolee 2025. 3. 26.

✅ 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 객체 생성

myCarCar 클래스의 인스턴스(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)

📌 객체 지향 핵심 요약

  • 클래스: 설계도
  • 객체: 설계도로 만든 실제 물건
  • 속성(필드): 객체가 가진 데이터
  • 메서드: 객체가 수행할 수 있는 기능

 

댓글