티스토리 뷰

안녕하세요, 허밍입니다!
오늘은 파이썬에서 중요한 개념 중 하나인 **클래스(Class)**에 대해 알아볼 거예요.
클래스는 객체(Object)를 만들기 위한 설계도라고 생각하면 이해하기 쉬워요.

그동안 배웠던 변수, 함수, 조건문, 반복문은 절차지향 프로그래밍의 방식이었다면,
**클래스는 객체지향 프로그래밍(OOP)**으로 나아가는 관문이에요!


📌 1. 클래스란 무엇인가요?

**클래스(Class)**는 관련된 변수와 함수를 하나로 묶어서 새로운 자료형을 만드는 방법이에요.

클래스 = 붕어빵 틀
객체 = 붕어빵

붕어빵 틀(클래스)을 이용해서 여러 개의 붕어빵(객체)을 찍어낼 수 있듯,
클래스를 이용하면 하나의 설계도여러 개의 객체를 만들 수 있어요.


📌 2. 클래스 기본 문법

class 클래스이름:
    def __init__(self, 속성1, 속성2):
        self.속성1 = 속성1
        self.속성2 = 속성2

    def 메서드이름(self):
        # 동작 정의
        pass

✔️ __init__() 함수: 객체가 생성될 때 자동으로 호출되는 생성자
✔️ self: 현재 객체 자신을 가리킴 (필수!)
✔️ 메서드: 클래스 안에서 정의된 함수


📌 3. 간단한 클래스 예제

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def say_hello(self):
        print(f"안녕하세요, 제 이름은 {self.name}이고 나이는 {self.age}살입니다.")

객체 생성 및 메서드 호출

person1 = Person("허밍", 29)
person1.say_hello()

출력 결과:

안녕하세요, 제 이름은 허밍이고 나이는 29살입니다.

📌 4. 클래스의 구성 요소

구성 요소 설명

속성(Attribute) 객체가 가지는 값 (변수)
메서드(Method) 객체가 수행하는 동작 (함수)
생성자(Constructor) 객체가 생성될 때 자동 실행되는 함수 (__init__)
self 객체 자기 자신을 가리키는 예약어

📌 5. 클래스 응용: 계산기 만들기

class Calculator:
    def __init__(self, number):
        self.number = number

    def add(self, n):
        self.number += n

    def subtract(self, n):
        self.number -= n

    def display(self):
        print(f"현재 값: {self.number}")

사용 예

calc = Calculator(10)
calc.add(5)
calc.subtract(2)
calc.display()  # 현재 값: 13

📌 6. 여러 객체 만들기

하나의 클래스에서 여러 객체를 만들어도 각 객체는 독립적인 상태를 유지해요.

user1 = Person("철수", 25)
user2 = Person("영희", 30)

user1.say_hello()
user2.say_hello()

📌 7. 클래스의 장점

  • 코드 재사용이 쉬움
  • 구조화된 코드 작성 가능
  • 유지보수가 편리
  • 복잡한 데이터를 객체로 표현 가능

✅ 오늘 배운 내용 요약

개념 설명

클래스 객체를 생성하기 위한 설계도
객체 클래스로부터 만들어진 실체
생성자 __init__() 객체가 생성될 때 자동 실행
self 객체 자기 자신을 나타냄
메서드 클래스 안에 정의된 함수

📌 실전 연습 문제

❓ 문제 1: Book 클래스를 만들어 제목과 저자 정보를 출력해보세요.

class Book:
    def __init__(self, title, author):
        self.title = title
        self.author = author

    def info(self):
        print(f"{self.title} - 저자: {self.author}")

🏷️ 추천 태그 (10개)

#파이썬클래스 #pythonclass #객체지향 #OOP #초보파이썬 #코딩기초 #파이썬공부 #클래스기초 #프로그래밍개념 #파이썬문법

클래스를 알면 더 큰 프로젝트에도 도전할 수 있어요!
다음 포스팅에서는 클래스의 상속이나 캡슐화 등 객체지향의 심화 개념도 소개해볼게요.
공감되셨다면 ❤️ 눌러주고, 다음 글도 기대해주세요!