Kim Seon Deok
python chapter8 클래스의 기본 본문
객체지향 프로그래밍 언어
객체를 우선으로 생각해서 프로그래밍
객체와 관련된 코드를 분리할 수 있게 하는 것
객체
여러가지 속성을 가질 수 있는 대상
객체지향 프로그래밍
객체를 기반으로 프로그램을 만드는 프로그래밍 언어
객체지향 프로그래밍의 목표 : 객체를 효율적으로 만들고 사용하는 것
추상화(abstraction)
프로그램에서 필요한 요소만을 사용해서 객체를 표현하는 것 >> 복잡한 자료, 모듈, 시스템 등으로부터 핵심적인 개념 또는 기능을 간추려 내는 것
클래스
객체를 조금 더 효율적으로 생성하기 위해서 만들어진 구문
class 클래스 이름:
클래스 내용
생성자
클래스 이름과 같은 함수
인스턴스 이름(변수이름) = 클래스 이름()
self : 자기자신을 나타내는 딕셔너리
class 클래스 이름:
def __init__(self, 추가적인 매개변수):
pass
소멸자
인스턴스가 소멸될 때 호출되는 함수
def __del__(self):
인스턴스
클래스를 기반으로 만들어진 객체
메소드
클래스가 가지고 있는 함수
class 클래스 이름:
def 메소드 이름(self, 추가적인 매개변수):
pass
상속
어떤 클래스를 기반으로 그 속성과 기능을 물려받아 새로운 클래스를 만듦
isinstance()
상속관계에 따라서 객체가 어떤 클래스를 기반으로 만들었는지 확인할 수 있게 해줌
isinstance(인스턴스, 클래스)
클래스 변수와 메소드
*클래스 변수 만들기
class 클래스 이름:
클래스 변수 = 값
*클래스 변수에 접근하기
클래스 이름.변수이름
*클래스 함수 만들기
class 클래스 이름:
@classmethod
def 클래스 함수(cls, 매개변수):
pass
*클래스 함수 호출하기
클래스 이름.함수 이름(매개변수)
데코레이터
꾸며주는 것
@classmethod
*함수 데코레이터
*클래스 데코레이터
프로그램 내부에서 무언가를 생성한다 == 메모리 위에 올린다
스왑
메모리가 부족해지면 컴퓨터는 하드디스크를 메모리처럼 사용해 무언가를 올리기 시작
하드디스크는 메모리보다 훨씬 느리므로 스왑을 처리하는 속도도 느리다.
가비지 컬렉터
더 사용할 가능성이 없는 데이터를 메모리에서 제거하는 역할
-변수에 저장되지 않음
-함수 등에서 나오면서 변수를 활용할 수 없게 되는 경우
프라이빗 변수
클래스 내부의 변수를 외부에서 사용하는 것을 막고 싶을 때 사용
__<변수이름>
게터와 세터
프라이빗 변수의 값을 추출(게터)하거나 변경(세터)할 목적으로, 간접적으로 속성에 접근하도록 해주는 함수
변수 이름과 같은 함수를 정의하고 게터 >> @property, 세터 >> @<변수이름>.setter
'python > python' 카테고리의 다른 글
python chapter7. 모듈 (0) | 2021.11.23 |
---|---|
python gui (0) | 2021.11.18 |
python chapter5 함수 (1) | 2021.08.25 |
python chapter4-3반복문 (0) | 2021.08.19 |
python chapter4-1반복문 (0) | 2021.08.19 |