본문 바로가기
파이썬

파이썬 기초 - 클래스 (class)

by python pro 2023. 1. 22.
반응형

"파이썬 클래스"는 파이썬에서 객체 지향 프로그래밍을 수행할 때 사용하는 기능입니다. 클래스는 객체의 속성과 메소드를 정의하는 템플릿입니다. 클래스를 정의하려면 class 키워드를 사용합니다.

 

예를 들어, 고양이 클래스를 정의하고 고양이 객체를 생성하는 코드는 다음과 같습니다.

class Cat:
    def __init__(self, name, age):
        self.name = name
        self.age = age
    
    def meow(self):
        print("Meow!")

my_cat = Cat("Kitty", 3)
print(my_cat.name) # Kitty
print(my_cat.age) # 3
my_cat.meow() # Meow!

위 코드에서는 Cat 클래스를 정의하고, 그 안에 init 메소드와 meow 메소드를 정의합니다. init 메소드는 클래스의 인스턴스가 생성될 때 자동으로 호출되며, 객체의 속성을 초기화하는 역할을 합니다. meow 메소드는 고양이가 울 수 있도록 합니다.

 

그리고 이 클래스를 이용해서 my_cat파이썬 클래스는 객체 지향 프로그래밍의 핵심 요소 중 하나입니다. 클래스는 객체를 생성하는 설계 도면을 정의하며, 객체는 클래스의 인스턴스입니다. 파이썬에서는 클래스를 선언하는 키워드로 "class"를 사용합니다.

 

올바른 예시 코드

class Dog:
    def __init__(self, name, breed):
        self.name = name
        self.breed = breed
        
    def bark(self):
        print("Woof woof!")
        
dog1 = Dog("Fido", "Golden Retriever")
print(dog1.name)  # Output: "Fido"
print(dog1.breed)  # Output: "Golden Retriever"
dog1.bark()  # Output: "Woof woof!"

 

"파이썬 클래스"는 객체 지향 프로그래밍을 지원하는 파이썬에서 가장 기본적인 개념 중 하나입니다. 클래스를 사용하면 객체를 생성하고, 객체를 이용해서 메소드와 변수를 사용할 수 있습니다.

 

예를 들어, 클래스를 정의하는 코드는 다음과 같습니다.

class MyClass:
    x = 5

p1 = MyClass()
print(p1.x)

위 코드는 MyClass라는 클래스를 정의하고, p1이라는 객체를 생성하는 예시입니다. 클래스에는 x라는 변수가 정의되어 있으며, p1 객체를 통해 x 변수를 참조하면 5가 출력됩니다.

또한, 클래스에는 메소드를 정의할 수도 있습니다.

class MyClass:
    x = 5
    def print_x(self):
        print(self.x)

p1 = MyClass()
p1.print_x()

 

클래스는 객체의 설계도라고 생각할 수 있으며, 객체를 생성할 때마다 새로운 메모리 공간을 생성합니다.

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

    def bark(self):
        print("Woof!")

dog1 = Dog("Fido", "Golden Retriever")
dog2 = Dog("Buddy", "Labrador Retriever")

print(dog1.name) # Output: Fido
print(dog2.breed) # Output: Labrador Retriever
dog1.bark() # Output: Woof!

여기서 class Dog는 개를 나타내는 클래스를 정의하고 있으며, dog1dog2는 각각 클래스 Dog로부터 생성된 객체 입니다.

 

잘못된 예시

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

    def bark():
        print("Woof!")

dog1 = Dog("Fido", "Golden Retriever")
dog2 = Dog("Buddy", "Labrador Retriever")

print(dog1.name) # Output: Fido
print(dog2.breed) # Output: Labrador Retriever
dog1.bark() # TypeError: bark() takes 0 positional arguments but 1 was given

여기서 bark() 함수는 self라는 인자를 받지 않아서 클래스 내부에서만 사용 가능합니다.

 

반응형

'파이썬' 카테고리의 다른 글

파이썬 자료형 - 리스트 이해하기  (0) 2023.01.23
파이썬 기초 - 예외처리 (try except)  (0) 2023.01.23
파이썬 기초 - 패키지 (package)  (0) 2023.01.22
파이썬 기초 - 함수  (0) 2023.01.22
파이썬 기초 - 반복문  (0) 2023.01.22

댓글