Day 09. 내가 만드는 클래스

심플디 2017.01.01 10:33 조회 수 : 17

01. 클래스 선언 및 사용


# class 이해하기


# system

for i in range(1, 99):

    print()


# define class

# 비상속 클래스

class clBookReader:

    def __init__ (self, iName):

        self.__name = iName;        # member 변수에 언더바(_)두번을 붙이면 private 선언이 된다.

    def read_book(self):

        print(self.__name+' is reading Book!!');


# 상속관계의 클래스

class clHuman:

    def __init__ (self, name):

        self.name=name;

        self.__country = 'south korea';

    def __init__ (self, name, country='south korea'):

        self.name=name;

        self.__country = country;

    def fCountry(self):

        print(self.__country);

        return self.__country;

    

class clDrumPlayer(clHuman):

    def play_drum(self):

        print(self.name + 'is playing Drum!!');

class clBookCounter(clHuman):

    def read_book(self):            # name은 Human class를 상속받았기 때문에 문제가 없다.

        print(self.__name+' is reading Book Counter!!');

        

# define variable

var = '파이썬 객체 지향 이야기';

# reader = BookReader();

# reader.name = '신동석';

reader = clBookReader('신동석');

reader.read_book();


br = clBookCounter('크리스');



# 결과 출력

print('[system] Class에 type과 id가 있을까? ');

print('[system] id(var)    결과 : ', id(var));

print('[system] type(var)  결과 : ', type(var));

print();

print('[system] Class type에 type과 id가 있을까? ');

print('[system] type(type) 결과 : ', type(type));

print('[system] type(str)  결과 : ', type(str));

print('[system] id(str)    결과 : ', id(str));

print('[system] id(int)    결과 : ', id(int));

print('[system] 클래스에서 생성된 객체를 인스턴스(Instance)라고 한다! ');

print();


# class 확인

print('[system] var.__class__   : ', var.__class__);    # __class__는 class 생성 즉시 자동으로 만들어지는 Method다.

print('[system] var.replace...  : ', var.replace('파이썬', 'Python'));

print('[system] reader.__class__: ', reader.__class__); # __class__는 class 생성 즉시 자동으로 만들어지는 Method다.

print('[system] type(reader)    : ', type(reader));


# 상속 관계의 클래스 확인

print('[system] br.country      : ', br.fCountry());



Cap 2017-01-01 13-09-05-327.png




Reference


1. 도서


1.1 조인석, "입문부터 실무까지 한방에 끝내는 파이썬 프로그래밍 python programming", 혜지원



2. 웹사이트


2.1 이지선(서강대학교), "기초 Python 프로그래밍", http://www.edwith.org/sogang_python, edwith, 2016


3. 첨부파일


3.1 클래스 생성 및 활용  : 20170101_1114_ex.py