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 |