1. 클래스란 무엇인가
1-1. 함수는 하나의 처리를 하나로 통합한 것이다.
1-2. 데이터 처리를 위해 필요한 함수와 변수를 모아 놓은 것이 클래스다.
2. 클래스는 다음과 같이 정의 된다.
2-1.
class 클래스 이름 :
변수1 =
변수2 =
변수3 =
...
...
def 메소드1(인수):
....메소드 처리....
def 메소드2(인수):
....메소드 처리....
2-2. 클래스에서 필요한 값을 저장하는 변수를 멤버 변수라고 부른다.
2-3. 클래스에서 제공하는 함수를 메소드라고 한다.
3. 클래스 생성 예제
class Memebr:
name =""
def showMsg(self):
print("Hello, " self.name =". How are you?")
3-1. 멤버 변수는 name, 메소드는 showMsg
3-2. 여기서 self는 자기 자신을 나타내는 인스턴스이다.
3-3. 클래스는 개념이지 실체가 아니기 때문에 인스턴스 만이 self를 가질 수 있다.
4. 인스턴스와 self
4-1. 클래스에서 메소드와 변수를 호출할 수 없다.
4-2. 인스턴스에서 메소드와 변수를 호출할 수 있다.
4-3. 클래스는 틀이다. 클래스는 틀이고, 인스턴스는 주형물이다.
4-4. self는 개성을 가짐을 의미한다. 클래스는 개성을 가질 수 없다.
4-5. self.name의 점(닷)을 통해서 가상의 인스턴스의 변수를 호출한다.
5. 클래스의 사용
class Memebr:
name =""
def showMsg(self):
print("Hello, " +self.name +" How are you?")
taro = Member()
taro.name = "Taro"
taro.showMsg()
5-1. 첫 번째 인수인 self는 Python의 시스템에 의해 자동으로 넘겨지게 된다.
5-2. 두 번째 인수부터 정해주면 된다.
6. 생성자의 사용
6-1. 멤버라는 클래스를 만들어 놓고 사용한 것에 그친다면, 함수와 변수를 그냥 지정한 것과 달라진 것은 없다. 오히려 더 번거로워졌지.
6-2. 생성자는 인스턴스를 만들 때 자동으로 호출되는 인스턴스 초기화를 위한 특별한 방법.
6-3. 생성자는 "__init__"와 같은 이름으로 메소드를 작성한다. 만약 어떤 값을 인수로 전달하고 싶다면 2번째 인수 이후에 지정한다.
def __init__(self, 인수...):
....초기화...
6-4. 생성자가 삽입되었다.
class Memebr:
name =""
def __init__(self, str):
self.name =str
def showMsg(self):
print("Hello, " self.name =". How are you?")
6-5. 생상자를 삽입 한후, 인스턴스를 호출하는 방식이 1번 쨰, 생성자가 없는 것이 2번째다. 필요한 멤버 변수의 설정을 빠트릴 일 없이 한 번에 진행 할 수 있다.
taro = Member("Taro")
taro = Member()
taro.name = "Taro"
7. 클래스의 상속
7-1. 클래스는 재사용이 가능하다.
7-2. 상속은 아래와 같은 방식으로 진행된다.
def 상속 받는 클래스(상속하는 클래스):
....새로운 클래스의 내용...
7-3. 멤버 변수와 메소드를 재사용할 수 있다.
7-4. 추가/갱신할 수 있다.
'2019년 혁신성장 청년인재 집중양성(빅데이터) > PYTHON 공부 - PY4E' 카테고리의 다른 글
PHP Forms - GET and POST (Part 2) (0) | 2019.08.05 |
---|---|
PY4E: Chapter 15 Worked Example: Twspider.py (0) | 2019.07.18 |
PY4E - Chapter 13 Twitter API (트위터 API를 이용한 크롤링) (0) | 2019.07.18 |
PY4E - Chapter 15 Database, Many to many (3) (0) | 2019.07.14 |
PY4E - Chapter 15 Database (2) (0) | 2019.07.14 |