PYTHON

[중급 1편] 클래스와 객체지향 기초.zip

Kim.Sung 2025. 5. 10. 13:46
728x90

*객체를 만들 줄 알면, 파이썬이 진짜 쉬워집니다.*


파이썬은 객체지향 언어입니다.  
즉, 우리가 만들어 쓰는 모든 변수와 기능은  
사실 ‘객체’라는 구조 안에 들어 있어요.

이번 편에서는 클래스를 정의하고,  
객체를 만들고, 그 안에 변수와 함수를 담는  
**객체지향의 가장 핵심적인 흐름**을 배워봅니다.

━━━━━━━━━━━━━━━━━━━

🧱 클래스란?

- 객체를 만들기 위한 ‘설계도’  
- 변수와 함수를 묶어 재사용 가능하게 함  
- 실제로 사용하려면 클래스를 ‘인스턴스화’해야 함

━━━━━━━━━━━━━━━━━━━

📦 1. 클래스 기본 구조

class Person:  
  def __init__(self, name, age):  
    self.name = name  
    self.age = age  
  def greet(self):  
    print(f"안녕하세요. 저는 {self.name}입니다.")

me = Person("지민", 26)  
me.greet()

- `__init__`: 생성자 함수 (객체 생성 시 자동 호출됨)  
- `self`: 자기 자신을 가리키는 키워드  
- 클래스에서 만든 변수 = 인스턴스 변수  
- 클래스 안의 함수 = 메서드

━━━━━━━━━━━━━━━━━━━

👥 2. 여러 객체 만들기

user1 = Person("준호", 30)  
user2 = Person("수연", 24)

print(user1.name) # 준호  
print(user2.age)  # 24

- 하나의 클래스 정의로 여러 객체를 만들 수 있음  
- 각 객체는 서로 다른 데이터를 가질 수 있음

━━━━━━━━━━━━━━━━━━━

🔧 3. 클래스에 기능(메서드) 추가

class Calculator:  
  def __init__(self):  
    self.result = 0  
  def add(self, num):  
    self.result += num  
    print("현재 값:", self.result)

calc = Calculator()  
calc.add(5)  
calc.add(3)

━━━━━━━━━━━━━━━━━━━

📚 4. 상속 (기존 클래스 확장하기)

class Animal:  
  def sound(self):  
    print("소리를 냅니다.")

class Dog(Animal):  
  def sound(self):  
    print("멍멍!")

d = Dog()  
d.sound() # 멍멍!

- `class 자식(부모):` 구조로 상속  
- 부모 클래스의 기능을 그대로 사용하거나 재정의 가능

━━━━━━━━━━━━━━━━━━━

💡 클래스는 언제 쓰나?

- 관련된 변수와 기능을 하나로 묶고 싶을 때  
- 비슷한 구조의 객체를 여러 개 만들 때  
- 데이터를 구조화해서 코드를 더 읽기 쉽게 만들고 싶을 때

━━━━━━━━━━━━━━━━━━━

💬 킴별의 한마디  
“클래스를 이해하면 프로그램이 입체적으로 보입니다.  
데이터와 기능이 하나로 묶이는 걸 경험해보세요.  
실무 자동화도 대부분 클래스 기반으로 구성됩니다.”

━━━━━━━━━━━━━━━━━━━


728x90