반응형
자바(Java)는 객체 지향 프로그래밍(OOP, Object-Oriented Programming) 언어입니다. 그 중심에는 **클래스(class)**와 **객체(object)**라는 개념이 있습니다. 이 글에서는 클래스와 객체의 정의부터 구조, 예제까지 쉽게 정리해드립니다.
📌 1. 클래스(Class)란?
클래스는 객체를 생성하기 위한 설계도입니다. 속성(필드)과 동작(메서드)을 정의합니다.
✅ 클래스 예시
public class Person {
String name; // 속성(필드)
int age;
void introduce() { // 동작(메서드)
System.out.println("안녕하세요. 제 이름은 " + name + "이고, 나이는 " + age + "살입니다.");
}
}
🧍♂️ 2. 객체(Object)란?
객체는 클래스를 바탕으로 실제 메모리에 생성된 인스턴스입니다. 하나의 클래스로 여러 객체를 만들 수 있습니다.
✅ 객체 생성 및 사용 예시
Person person1 = new Person();
person1.name = "철수";
person1.age = 20;
person1.introduce();
출력: 안녕하세요. 제 이름은 철수이고, 나이는 20살입니다.
🔁 3. 클래스와 객체의 관계
개념설명
클래스 | 객체를 만들기 위한 설계도 |
객체 | 클래스에 따라 생성된 실체 |
예시 비유:
- 클래스 = 설계도 (예: 자동차 설계도)
- 객체 = 실제 제품 (예: 특정 자동차 한 대)
🛠️ 4. 생성자(Constructor)
생성자는 객체 생성 시 초기값을 설정하는 특수한 메서드입니다. 클래스 이름과 같고, 반환형이 없습니다.
✅ 생성자 예시
public class Person {
String name;
int age;
// 생성자
Person(String name, int age) {
this.name = name;
this.age = age;
}
void introduce() {
System.out.println("안녕하세요. 제 이름은 " + name + "이고, 나이는 " + age + "살입니다.");
}
}
Person p = new Person("영희", 25);
p.introduce();
🧠 5. 캡슐화(Encapsulation) 기초
객체 지향의 중요한 개념 중 하나로, 데이터를 외부로부터 보호하고, 제어된 방식으로 접근하게 합니다.
✅ 예시: getter/setter 사용
public class BankAccount {
private int balance;
public int getBalance() {
return balance;
}
public void deposit(int amount) {
if (amount > 0) {
balance += amount;
}
}
}
✅ 정리 요약
용어 | 설명 |
클래스 | 객체 생성을 위한 설계도 |
객체 | 클래스에서 만들어진 실체 |
생성자 | 객체 초기화를 위한 특수 메서드 |
캡슐화 | 데이터를 보호하고 접근 제어하는 원칙 |
🚀 마무리
클래스와 객체는 자바 프로그래밍의 핵심입니다. 이를 제대로 이해하고 활용할 수 있어야 유지 보수하기 쉬운, 확장성 있는 코드를 작성할 수 있습니다. 다음 단계로는 상속, 다형성, 인터페이스 등의 객체 지향 개념으로 확장해보세요!
반응형
'자바 > 객체 지향 프로그래밍' 카테고리의 다른 글
자바의 다형성(Polymorphism) 완전 이해하기 (0) | 2025.04.29 |
---|---|
자바의 오버로딩(Overloading)과 오버라이딩(Overriding) 완전 정복 (1) | 2025.04.28 |
상속(Inheritance)과 코드 재사용 - 자바 객체지향 설계의 핵심 (1) | 2025.04.27 |
자바 접근 제어자 완벽 가이드 - private, protected, public, default (1) | 2025.04.26 |
생성자(Constructor), this, super 키워드 완전 정복 (2) | 2025.04.25 |