본문 바로가기

2019년 혁신성장 청년인재 집중양성(빅데이터)/PYTHON 공부 - PY4E

클래스란 무엇인가

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. 추가/갱신할 수 있다.