클래스, 객체

지두의 개발자 도전기·2025년 3월 12일

Python

목록 보기
7/10
post-thumbnail

1. 클래스

  • 클래스(Class)는 객체(Object)를 생성하기 위한 설계도 또는 .
  • 클래스 안에는 변수(속성)함수(메소드)가 포함됨.
  • 객체는 클래스를 기반으로 만들어지는 실제 데이터가 담긴 실체.

1-1. 기본 공식

class 클래스이름:
    def __init__(self):
        # 생성자 (객체가 생성될 때 자동 실행)
        pass

1-2. 예제

class Person:
    def __init__(self, name, age):
        self.name = name  # 멤버 변수
        self.age = age

person1 = Person("공주", 20)  # 객체 생성
print(person1.name, person1.age)  # 공주 20

2. __init__ (생성자)

  • 객체가 생성될 때 자동으로 실행되는 메소드.
  • 주로 초기값을 설정하는 역할.

2-1. 기본 공식

class 클래스이름:
    def __init__(self, 매개변수):
        self.변수 = 매개변수

2-2. 예제

class Animal:
    def __init__(self, species):
        self.species = species  # 멤버 변수 설정

animal = Animal("고양이")
print(animal.species)  # 고양이

3. 멤버 변수

  • 클래스 내부에서 선언된 변수로, 객체의 속성을 저장.
  • self.변수명 형식으로 사용.

3-1. 기본 공식

class 클래스이름:
    def __init__(self,):
        self.변수명 =

3-2. 예제

class Car:
    def __init__(self, brand):
        self.brand = brand

car1 = Car("Hyundai")
print(car1.brand)  # Hyundai

4. 메소드

  • 클래스 내부에서 정의된 함수로, 객체의 동작을 정의함.

4-1. 기본 공식

class 클래스이름:
    def 메소드이름(self):
        동작

4-2. 예제

class Dog:
    def __init__(self, name):
        self.name = name

    def bark(self):
        print(self.name, "가 멍멍!")

dog1 = Dog("초코")
dog1.bark()  # 초코 가 멍멍!

5. self

  • 클래스 내부에서 객체 자기 자신을 가리키는 키워드.
  • 멤버 변수와 메소드를 호출할 때 반드시 사용.

5-1. 기본 공식

class 클래스이름:
    def 메소드(self):
        print(self.변수명)

5-2. 예제

class Cat:
    def __init__(self, name):
        self.name = name

    def meow(self):
        print(self.name, "야옹!")

cat1 = Cat("나비")
cat1.meow()  # 나비 야옹!

6. 상속 (Inheritance)

  • 기존 클래스를 확장하여 새로운 클래스를 만드는 개념.
  • 코드 재사용성이 높아짐.

6-1. 기본 공식

class 부모클래스:
    pass

class 자식클래스(부모클래스):
    pass

6-2. 예제

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

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

dog = Dog()
dog.sound()  # 동물이 소리를 냅니다.
dog.bark()   # 멍멍!

7. super()

  • 부모 클래스의 기능을 자식 클래스에서 호출할 때 사용.

7-1. 기본 공식

class 부모클래스:
    def __init__(self,):
        self.변수 =class 자식클래스(부모클래스):
    def __init__(self,):
        super().__init__()

7-2. 예제

class Parent:
    def __init__(self, name):
        self.name = name

class Child(Parent):
    def __init__(self, name, age):
        super().__init__(name)
        self.age = age

child = Child("공주", 10)
print(child.name, child.age)  # 공주 10

8. 다중 상속

  • 두 개 이상의 부모 클래스를 상속받는 것.

8-1. 기본 공식

class 부모클래스1:
    pass

class 부모클래스2:
    pass

class 자식클래스(부모클래스1, 부모클래스2):
    pass

8-2. 예제

class Flyer:
    def fly(self):
        print("날 수 있습니다!")

class Swimmer:
    def swim(self):
        print("수영할 수 있습니다!")

class Duck(Flyer, Swimmer):
    pass

duck = Duck()
duck.fly()  # 날 수 있습니다!
duck.swim()  # 수영할 수 있습니다!

0개의 댓글