클래스와 인스턴스


앞에서 클래스사용 법에 대해 간략하게 설명 드렸는데 개념이 없이 바로 예제로 설명해 어려움이 있을 것 같아

개념 설명을 추가 하도록 하겠습니다.


다들 어린 시절 학교 앞에서 뽑기를 해본 적이 있을 것이다. 

뽑기를 할때 국자에 소다와 설탕을 넣고 끓인 후 ☆ ♡ 등 모양의 틀로 찍고 그 모양대로 잘라먹은 기억을 다들 가지고 있을 것이다.


여기서 틀은 클래스라 생각 하자 틀을 찍어서 계속 뽑기를 여러개 만들 수 있는데 여기서 뽑기는 인스턴스라고 생각해보자

한개의 틀만 있으면 똑같은 뽑기를 계속 만들 수 있다. 


아래 코드를 보자


 #아래는 틀과 같은 역활을 하는 클래스 선언이다.

 class Human :
         name = ""


 h1 = Human() #Human 이라는 클래스(틀)로 h1 인스턴스(뽑기)를 만든다.

 h2 = Human() #Human 이라는 클래스(틀)로 h2 인스턴스(뽑기)를 만든다.



클래스 변수와 함수


클래스 변수와 함수 사용법에 대해 알아 보겠다.


아래 Human 클래스에 이름 변수를 확인 할 수 있다.

사용 방법은 Class 밑에 들여쓰기 후 변수를 정의 하면 된다.


인스턴스 생성 후에는 인스턴스명.변수명을 사용 하면 된다. 


 class Human :

         name = ""


 h1 = Human() 

 h1.name = "철수"


함수 역시 클래스 밑에 들여쓰기 후 함수를 정의하면 된다.

인스턴스 생성 후에는 인스턴스명.함수명을 사용 하면 된다. 


 class Human :

         name = ""

         def introduce(self) :

             print "내 이름은 %s 입니다."%self.name


 h1 = Human() 

 h1.name = "철수"

 h1.introduce()




생성자 함수(__init__) 선언


앞에서 인스턴스 호출 후 다음에 인스턴스의 이름을 넣었다.


 h1 = Human() 

 h1.name = "철수"


매번 인스턴스를 생성하고 이름을 넣어주는 일이 번거로울 것이다.

그래서 인스턴스를 생성과 동시에 인스턴스를 초기화 시켜주는것이 생성자 함수(__init__) 이다.


 class Human :

         name = ""

         def __init__(self,name):

             self.name = name

         def introduce(self) :

             print "내 이름은 %s 입니다."%self.name


 h1 = Human("철수") 

 h1.introduce()



이전 클래스 설명 가기 ====> click

반응형

'프로그램 > Python' 카테고리의 다른 글

[Python] 모듈 #2  (0) 2016.11.13
[Python] 모듈 #1  (0) 2016.11.12
[Python]클래스 (2)  (0) 2016.09.16
[Python]클래스 (1)  (0) 2016.09.16
[Python]파일(File) 사용법  (0) 2016.09.16

+ Recent posts