[알고리즘] 클래스

클래스

클래스는 분류,집합 같은 속성(데이터)과 기능을 가진 객체를 총칭하는 개념
객체는? 세상에 존재하는 유일무이한 사물

class Person:
    pass # 여기서 pass 는 안에 아무런 내용이 없다는 의미입니다!

person_1 = Person()
print(person_1)  # <__main__.Person object at 0x1090c76d0>
person_2 = Person()
print(person_2)  # <__main__.Person object at 0x1034354f0>

클래스에는
📍 생성자(Constructor)가 있는데, 객체를 생성할 때 데이터를 넣어주거나, 내부적으로 원하는 행동을 실행하게 할 수 있음
📍 파이썬에서 생성자 함수의 이름은 무조건 __init__
📍 생성자는 생성시에 호출되는 함수
📍 self? self는 객체 자기 자신을 가리킴
-> 따로 파라미터 넣어주지 않아도 호출시 알아서 self에 자기자신을 넣어줌
-> 객체에 데이터를 쌓을 수 있음
📍 talk이라는 메소드(내부함수)만들기
-> 각 객체의 변수를 사용해서 메소드 구현가능

class Person:
    def __init__(self, param_name):
        print("hihihi", self) 
        ↳ 생성자는 생성시에 호출되는 함수, Person을 생성하기만 해도 hihihi,self가 동시에 출력됨
        self.name = param_name 
        ↳ self.name에 param_name을 저장한다는 건 -> 그 객체의 name이라는 변수에 저장된다는 의미

    def talk(self):
        print("안녕하세요 저는", self.name, "입니다")

person_1 = Person("유재석")  # hihihi <__main__.Person object at 0x1067e6d60> 이 출력됩니다!
print(person_1.name)  # 유재석
person_1.talk()  # 안녕하세요 저는 유재석 입니다

person_2 = Person("박명수")  # # hihihi <__main__.Person object at 0x106851550> 이 출력됩니다!
print(person_2.name)  # 박명수
person_2.talk()  # 안녕하세요 저는 박명수 입니다

📢 클래스를 이용하면 연관성 있는 데이터들을

클래스 내에서 관리할 수 있으며,다양한 객체들을 쉽게 생성할 수 있다 : )

좋은 웹페이지 즐겨찾기