강의/python3

[python3] 9강. class

jinkwon.kim 2022. 4. 29. 23:52
728x90
반응형

목표

    1. class 정의

    2. class 문법

    3. class 객체 생성

    4. class method 호출

    5. class 필요성

    6. 예제

강의

https://www.youtube.com/watch?v=r6tyNwP-F7U&ab_channel=%EA%B9%80%EC%A7%84%EA%B6%8C 

class 정의

    - 변수와 function으로 구성된 자료형입니다.

class 문법

1. Class

    1) 정의

        - class의 시작을 알립니다.

    2) 용도 

        - class의 이름을 정의합니다. 

        - 다른 class와의 관계(상속)를 정의 합니다.

 

2. 필드(field, =멤버 변수)

    1)정의 

        - class내부에서만 사용 할 수 있는 변수 입니다.

    2) 용도

        - class내부에서 생성된 자료(data)를 저장하기 위해서 사용 됩니다.

3. 생성자

    1)정의 

        - class를 생성시 1회만 수행되는 method 입니다.

    2) 용도

        - class를 생성시 기본 값을 초기화 하고싶은 내용을 여기서 정의 합니다.

4. method

    1) 정의

        - function과 동일한 기능을 가집니다. 다만 class애서 밖에 사용 할 수 가 없습니다. 
          그래서 function 과 이름을 구분하기 위해서 method라고 표현 합니다.

    2) 용도

        - filed를 제어하는 용도 또는 class의 고유 기능을 구현 하는데 사용 됩니다.

class 객체 생성

class method 호출

class 필요성

1. 가독성

    - 변수와 연관된 function이 한곳에 있기 때문에 programming의 가독성을 높여 줍니다. 

2. 이식성

    - 변수와 연관되 function이 한곳에 있기 때문에 다른 program에 이식하기가 쉽습니다.

      일반적으로 다른 program에 code를 이식한다는것(porting)한다는 것은 변수화 이와 관련된 변수를 옮기는 것을 말합니다. 

3. 재사용성

    - code의 재사용성이 뛰어납니다.

4. 확장성 

    - program을 확장 하는데 용이 합니다. 

class 예제

class machine:
    made_in = "korea";
    def __init__(self, name):
        self.name = name;

    def get_name(self):
        return self.name

    def get_made_in(self):
        return self.made_in

    def select_menu(self, _item):
        self.item = _item

    def print_selected_menu(self):
        return self.item

m = machine("음료수 자판기");
m.select_menu("콜라")

print(m.get_name())
print(m.get_made_in())
print(m.print_selected_menu())

 

 

728x90
반응형