반응형
[2021/11/16] 처음시작
소나무 기운 , 전자제품 개발/생산
클래스 심화
어떤 클래스의 인스턴스인지 확인할 수 있어요.
클래스 변수, 멤버함수, 가비지 컬렉터에 대해서 알아보죠.
인스턴스 확인
# 클래스를 선언
class Bread:
def __init__(self, name, price): # 생성자
self.name = name
self.price = price
def get_sum(self, cnt): # 메소드 함수
return self.price * cnt # 갯수를 받아 가격을 반환
# 빵 종류를 생성
bread = Bread("식빵", 1000)
# 어떤 클래스의 인스턴스인지 확인
print(isinstance(bread, Bread))
print(type(bread))
결과
PS C:\Users\pinee> & C:/Python38/python.exe c:/Users/pinee/OneDrive/blog/aaa.py
True
<class '__main__.Bread'>
PS C:\Users\pinee>
isinstance()와 type()으로 인스턴스를 확인할수 있어요.
클래스 변수와 멤버함수, 가비지 컬렉터(garbagecollector)
# 클래스를 선언
class Bread:
num = 0
def __init__(self, name, price): # 생성자
self.name = name
self.price = price
num++ # 빵의 종류 증가
def __del__(self):
printf("가비지 컬렉터")
def get_sum(self, cnt): # 메소드 함수
return self.price * cnt # 갯수를 받아 가격을 반환
# 빵 종류를 생성
# 클래스를 사용
breads = [
Bread("식빵", 1000),
Bread("단팥빵", 500)
]
# 빵 종류 보기
printf(breads.num)
클래스 이름 아래에 클래스 변수를 선언할 수 있어요.
def를 이용하여 멤버함수를 선언할 수 있어요.
클래스가 종료될때 __del__인 가비지 컬렉터는 자동으로 호출되요.
상속
기존의 클래스를 상속받아 새로운 클래스를 생성합니다. 기능을 추가하여 만듭니다.
# 클래스를 선언
class Bread:
num = 0
def __init__(self, name, price): # 생성자
self.name = name
self.price = price
num++ # 빵의 종류 증가
def __del__(self):
printf("가비지 컬렉터")
def get_sum(self, cnt): # 메소드 함수
return self.price * cnt # 갯수를 받아 가격을 반환
# 상속
class Store(Bread): # Bread클래스를 상속받아서 클래스 선언
def __init__(self):
Bread.__ini__(self, "식빵", 1000) # Bread클래스의 생성자 사용
마무리
생성자, 가비지컬렉터, 멤버함수, 클래스변수, 상속 등의 기능을 사용하여 모듈화하고 독립적인 객체를 생성할 수 있어요.
참고문헌
틀린 부분이나 질문은 댓글 달아주세요.
즐거운 하루 보내세요. 감사합니다.
반응형
'Python, C, C++' 카테고리의 다른 글
python으로 실행파일(exe) 만들기 pyinstaller (0) | 2022.02.18 |
---|---|
Python 소스 ( Serial Protocol, USART, 8-bit bootloader ) 분석 (0) | 2022.02.11 |
[요점만 파이썬] 클래스 (0) | 2021.11.16 |
[요점만 파이썬] 모듈 만들기 (0) | 2021.11.10 |
[요점만 파이썬] 외부 모듈 (0) | 2021.11.10 |
댓글