알고리즘

클래스

na_o 2021. 8. 21. 01:02
728x90

[ Python) 클래스란? ]

분류, 집합 같은 속성과 기능을 가진 객체를 총칭하는 개념

 

[그럼 객체는..??]

세상에 존재하는 유일무이한 사물

ex) 클래스가 동물이라면, 객체는 강아지가 될 수도 있고, 고양이가 될 수도 있음

     클래스가 사람이라면, 객체는 강호동이 될 수도 있고, 이수근이 될 수도 있음

 

 

클래스를 이용하면 같은 속성과 기능을 가진 객체들을 묶어서 정의할 수 있음!!

 

[생성자]

생성 시 호출되는 함수 / 객체를 생성할 때 쓰는 함수

class Person:
    # __init__ : 생성자 설정
    # self: 생성자나 함수 만들 때 인자에 자기자신(현재 클래스)을 넘겨주게 됨
    def __init__(self):
        print("Person constructor! ", self)

# Person() : Person 클래스의 생성자
person_1 = Person()  # 생성자가 호출되는 순간 클래스 내의 init 함수가 호출됨
print(person_1)
person_2 = Person()
print(person_2)

출력 결과

 

class Person:
    # self는 매개변수로 무조건 존재해야함!!
    def __init__(self, param_name):
        print("I am created! ", self)
        # 내(Person 클래스) 안에다가 name이라는 변수를 만들어서 param_name의 값을 저장
        self.name = param_name

    def talk(self):
        print("안녕하세요! 제 이름은", self.name, "입니다")

person_1 = Person("라이언")
print(person_1)
# 생성자를 통해 param_name이 클래스 내부에 self.name에 저장되어 self.name 출력
print(person_1.name)
person_1.talk()

print()

person_2 = Person("춘식이")
print(person_2)
# 생성자를 통해 param_name이 클래스 내부에 self.name에 저장되어 self.name 출력
print(person_2.name)
person_2.talk()

출력 결과

 

 

"클래스를 이용하면 유사한 행동이나 데이터를 쌓을 수 있게 구조를 쉽게 만들 수 있다"

 

'알고리즘' 카테고리의 다른 글

링크드 리스트 구현 - 2  (0) 2021.08.22
링크드 리스트 구현 - 1  (0) 2021.08.21
Array와 Linked List  (0) 2021.08.19
문자열 뒤집기  (0) 2021.08.18
소수 나열하기  (0) 2021.08.18