ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Python 클래스(Class)와 객체(Object) 🐍✨
    프로그래밍/Python 2025. 3. 9. 20:20
    반응형

     

    Python에서 클래스(Class)와 객체(Object)는 객체지향 프로그래밍(OOP)의 핵심 개념입니다. 이번 포스팅에서는 클래스를 정의하고 활용하는 방법을 쉽게 설명하겠습니다! 🚀


    1. 클래스와 객체란?

    클래스(Class)는 객체를 만들기 위한 설계도입니다.
    객체(Object)는 클래스를 기반으로 생성된 실제 데이터입니다.

    예를 들어, 강아지라는 클래스를 만들면, 연탄이라는 객체를 생성할 수 있습니다.

    📌 클래스와 객체의 개념

    class Dog:  # 강아지 클래스 정의
        def __init__(self, name, age):
            self.name = name  # 속성 (Attribute)
            self.age = age
    
    # 객체 생성
    dog1 = Dog("연탄", 3)
    print(dog1.name)  # 출력: 연탄
    

    ✅ Dog 클래스를 기반으로 dog1 객체를 생성하였습니다.


    2. 클래스 정의 및 객체 생성

    📌 클래스 기본 구조

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

    📌 예제: 자동차 클래스

    class Car:
        def __init__(self, brand, color):
            self.brand = brand  # 브랜드 속성
            self.color = color  # 색상 속성
    
    # 객체 생성
    my_car = Car("Tesla", "Red")
    print(my_car.brand)  # 출력: Tesla
    print(my_car.color)  # 출력: Red
    

    ✅ Car 클래스를 정의하고, my_car 객체를 생성했습니다.


    3. 메서드(Method) - 클래스 내부의 함수

    클래스 내부에서 정의된 함수는 메서드(Method)라고 부릅니다.

    📌 메서드 추가하기

    class Person:
        def __init__(self, name, age):
            self.name = name
            self.age = age
    
        def introduce(self):  # 자기소개 메서드
            print(f"안녕하세요, 저는 {self.name}이고 {self.age}살입니다.")
    
    # 객체 생성
    p1 = Person("연탄", 25)
    p1.introduce()  # 출력: 안녕하세요, 저는 민주이고 25살입니다.

    ✅ introduce() 메서드를 추가하여 객체의 정보를 출력하도록 만들었습니다.


    4. 상속(Inheritance) - 클래스 확장하기

    상속(Inheritance)을 사용하면 기존 클래스를 확장하여 새로운 클래스를 만들 수 있습니다.

    📌 예제: 상속을 활용한 클래스 확장

    class Animal:
        def __init__(self, name):
            self.name = name
        
        def speak(self):
            print("동물 소리")
    
    # Dog 클래스는 Animal 클래스를 상속받음
    class Dog(Animal):
        def speak(self):
            print("멍멍!")
    
    # 객체 생성
    d = Dog("연탄")
    d.speak()  # 출력: 멍멍!
    

    ✅ Animal 클래스를 상속받아 Dog 클래스를 만들고, speak() 메서드를 재정의했습니다.


     

    5. 연습문제: 직접 실습해보기! 🎯

    아래 코드를 직접 작성하고 실행해보세요!

    # 1. 책(Book) 클래스를 만들고, 제목과 저자를 출력하는 메서드를 추가하세요.
    class Book:
        def __init__(self, title, author):
            self.title = title
            self.author = author
        
        def info(self):
            print(f"책 제목: {self.title}, 저자: {self.author}")
    
    book1 = Book("파이썬 마스터", "김민수")
    book1.info()  # 책 제목: 파이썬 마스터, 저자: 김민수
    

     

    # 2. Animal 클래스를 만들고, 이를 상속받는 Cat 클래스를 만들어보세요.
    class Animal:
        def __init__(self, name):
            self.name = name
        
        def speak(self):
            print("동물 소리")
    
    class Cat(Animal):
        def speak(self):
            print("야옹!")
    
    cat1 = Cat("나비")
    cat1.speak()  # 출력: 야옹!
    

     


    마무리 🎯

    오늘은 Python의 클래스와 객체를 배웠습니다! 🏆

    • 클래스를 정의하고 객체를 생성하는 방법
    • __init__ 생성자를 활용하여 속성 초기화
    • 클래스 내부의 메서드 사용법
    • 상속을 활용하여 클래스 확장

    💡 다음 포스팅에서는 '파일 입출력'을 다룰 예정입니다! 🚀

    ✍️ 질문이나 궁금한 점이 있다면 댓글로 남겨주세요! 😊

Designed by Tistory.