객체를 생성하는 틀로, 속성과 메소드로 구성되어 있다.
클래스를 통해 생성한 객체를 인스턴스라고 한다.
인스턴스를 통해 객체의 속성과 메소드를 사용할 수 있다.
class Human:
name = 'AngelPlayer' # 클래스 변수
def __init__(self):
self.homepage = 'localhost:8080' # 인스턴스 변수
def shout(self):
print('Hi, My name is {}, My homepage is {}.'.format(self.name, self.homepage))
def emoji(self):
print('=_=')
person = Human()
print(person.name) # AngelPlayer
person.shout() # Hi, My name is AngelPlayer, My homepage is localhost:8080.
person.emoji() # =_=
- __init__ : 생성자
클래스의 인스턴스가 생성될 때 자동으로 호출되는 메소드로 인스턴스를 초기화 할 때 사용한다.
__init__ 생성자 내부에서 self.로 시작하는 변수들은 인스턴스 변수로서 인스턴스 내부에서만 사용이 가능하다.
self가 붙지 않는 변수는 지역 변수로써 메소드 내부에서만 사용가능하다.
- __del__ : 소멸자
인스턴스가 메모리에서 제거될 때 자동으로 호출되는 메소드이다.
일반적으로 더 이상 참조가 이루어지지 않는 인스턴스는 GC에 의해 메모리에서 자동으로 제거되지만, 명시적으로 인스턴스를 제거할 때 del
상속이란 기존에 있는 클래스(부모 클래스)의 속성과 메소드를 그대로 이어받는 새로운 클래스(자식 클래스)를 만들고자 할 때 사용한다.
자식 클래스는 여러 부모를 가질 수 있으며, 부모의 속성과 메소드를 이용할 수 있다.
부모가 가지고 있던 속성이나 메소드가 상속받은 자식에 동일하게 정의된다면 자식 클래스에 정의된 속성이나 메소드가 사용된다.
class Human:
name = 'AngelPlayer' # 클래스 변수
def __init__(self):
self.homepage = 'localhost:8080' # 인스턴스 변수
def shout(self):
print('Hi, My name is {}, My homepage is {}.'.format(self.name, self.homepage))
def emoji(self):
print('=_=')
class Blogger(Human):
def __init__(self):
self.homepage = 'angelplayer.tistory.com'
def emoji(self):
print("ㅇㅂㅇ")
super().emoji() # 부모의 메소드 사용 시
blogger = Blogger()
blogger.shout() # Hi, My name is AngelPlayer, My homepage is angelplayer.tistory.com.
blogger.emoji() # ㅇㅂㅇ\n=_=
[Python / Error 해결] RuntimeError: 'cryptography' package is required for sha256_password or caching_sha2_password auth methods .. (0) | 2021.08.28 |
---|---|
[Pandas] 빈 데이터(NaN) 채우는 방법 (.fillna()) (0) | 2021.08.27 |
[Python] 모듈과 패키지 (0) | 2021.08.24 |
[Python] 파이썬 주요 함수 정리 및 활용법 (0) | 2021.08.23 |
[Python] 딕셔너리 정렬 및 출력 방법 (key, value) (0) | 2021.08.21 |