클래스의 기본 구성
> 객체를 생성하기 위해서 클래스는 객체가 가져야 할 값과 기능을 지니고 있어야 함.
> 클래스 변수 : 클래스를 기반으로 생성된 모든 인스턴스들이 공유하는 변수
> 인스턴스 변수 : 모든 인스턴스들이 개별적으로 가지는 변수인 인스턴스 변수
> 클래스는 구성하는 함수는 "메소드"라고 함.
> 메소드는 특징에 따라 클래스 메소드, 정적 메소드, 인스턴스 메소드로 분리 가능.
인스턴스 변수와 메소드
인스턴스 변수
> 클래스 기반으로 만들어지는 모든 인스턴스들이 각각 따로 저장되는 변수
> 모든 인스턴스 변수는 self 라는 키워드를 앞에 붙여줌.
인스턴스 메소드
> 인스턴스 변수를 사용하는 메소드.
> 인스턴스 변수 값에 따라 각 인스턴스마다 다르게 동작.
> 인스턴스 메소드는 반드시 첫 번째 매개변수로 self를 추가.
class Person:
def who_am_i(self, name, age, tel, address):
self.name = name
self.age = age
self.tel = tel
self.address = address
boy = Person()
print(boy.__dict__)
boy.who_am_i('john', 15, '123-1234', 'toronto')
print(boy.__dict__)
print(boy.name)
print(boy.age)
print(boy.tel)
print(boy.address)
girl = Person()
print(girl.__dict__)
girl.who_am_i('jane', 16, '567-8901', 'LA')
print(girl.__dict__)
print(girl.name)
print(girl.age)
print(girl.tel)
print(girl.address)
생성자와 소멸자
생성자
> 위에서는 값이 없는 인스턴스를 먼저 생성하고 인스턴스 값을 저장하는 메소드를 나중에 호출하여 인스턴스 생성.
> 하지만 이를 이용하지 않고 처음부터 값을 가지고 이쓴 인스턴스를 생성 가능하며,
이를 가능하게 하는 것이 생성자.
> 생성자는 인스턴스를 생성할 때 자동으로 호출되는 특별한 메소드.
> 모든 클래스는 __init__()라는 생성자를 가짐.
class Person:
def __init__(self, name, age, tel, address):
self.name = name
self.age = age
self.tel = tel
self.address = address
소멸자
> 인스턴스가 생성될 때 자동으로 생성되는 생성자와 마찬가지로,
인스턴스가 소멸될 때 자동으로 호출되는 메소드를 소멸자라고 함.
> 소멸자는 __del__()이라는 이름을 가짐.
'[Python] 파이썬' 카테고리의 다른 글
[Python] 파이썬 상속 (2) | 2022.09.09 |
---|---|
[Python] 파이썬 클래스 구성_2 (0) | 2022.09.08 |
[Python] 파이썬 클래스와 객체 (0) | 2022.09.06 |
[Python] 파이썬 내장 함수 - 사용자 함수 (2) | 2022.09.05 |
[Python] 파이썬 내장 함수 - 시퀀스 내장 함수 (0) | 2022.08.23 |