Kim Seon Deok

python chapter8 클래스의 기본 본문

python/python

python chapter8 클래스의 기본

seondeok 2021. 11. 24. 01:46

객체지향 프로그래밍 언어 

객체를 우선으로 생각해서 프로그래밍

객체와 관련된 코드를 분리할 수 있게 하는 것

 

객체

여러가지 속성을 가질 수 있는 대상

 

객체지향 프로그래밍

객체를 기반으로 프로그램을 만드는 프로그래밍 언어

객체지향 프로그래밍의 목표 : 객체를 효율적으로 만들고 사용하는 것

 

 

추상화(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
Comments