전공 과목 이수1👨‍💻/파이썬

파이썬 - 객체 지향, 클래스 개념

천숭이 2020. 11. 28. 18:14

객체지향 - 멤버변수와 멤버함수(동작)로 구성됨. 객체들 사이에서 상호작용

 

추상적인개념(클래스)에 현실적인 대응역할 해주는 것이 인스턴스.

인스턴스는 클래스로부터 만들어지는 각각의 개별적인 객체. 서로 다른 속성값(서로 다른 생성자)가질 수 있음.

클래스 정의 방법

class Cat :

   #속성, 행위 작성

    pass

nabi = Cat

def __init__(self, name, color="흰색'):

# 생성자 함수 : self = 자기참조, name,color을 매개로 전달

nabi, nero 객체생성 출력시 자동으로 문자열로 변환되어 출력됨(포매팅 출력도 포함)

언더바 두개로 변수를 보호할 수 있음 = 캡슐화

 

파이썬 특수메소드 : 연산에 해당
파이썬 특수메소드 : 비교 연산자에 해당
상속

클래스이 상속이란- 해당하는 틀에서 다른 클래스를 만드는 것.

이때 본(틀)이 되는 것을 <슈퍼클래스> 라고 한다.

슈퍼클래스에서 만들어진 클래스를  <서브클래스>라고 한다.

상속이라는 기능을 사용하면 이미 존재하는 틀에서 기능만 바꾸어 기능을 강화하고 변경해 별도의 클래스 생성가능.

 

상속의 종류

1. 단일상속  2. 다중상속  3. 단계적 상속  4. 계층적상속  5. 하이브리드 상속

 

1. 단일 상속

한 부모에게 상속받는 것.

 

2. 다중 상속

여러개의 클래스를 한번에 받는 것

 

3. 단계적 상속

계층적으로 상속받는 것

a->b->c 

 

4. 계층적 상속

base -> derived1

       -> derived2

       -> derived3 class

 

5. 하이브리드 상속  

클래스 상속

상속받을때 super().__init__(매개변수)로 사용하기

 

from bookmark import Bookmark
  -> from 파일이름 import 파일 내 메소드
내가 작성한 파일.py
impot 내가작성한파일이름