본문으로 바로가기

클래스 (변수)

category SECURITY/Python 2017. 4. 19. 20:26


   클래스(변수)


   클래스 VS 객체

1) 클래스

  - 사용자 정의 모양 혹은 틀, 꼴

  - EX) 붕어빵 틀

  - class 클래스 이름:

  - 메서드(Method) : 클래스 내에 있는 함수


2) 객체

  - 변수

  - 같은 클래스 안에는 여러개의 객체가 존재

  - EX) 틀에서 찍어낸 붕어빵

  - 변수 = 클래스이름( )


   멤버변수

1) 객체변수 ( EX) self.name )

 - 메서드 안에서 정의

 - 객체마다 존재하는 변수

 - 네임스페이스로 객체 자기자신을 사용

 - 객체가 생성된 이후에 사용


2) 클래스 변수 ( EX) variable.num )

- 메서드 바깥쪽, 클래스 안쪽 정의

 - 클래스마다 존재하는 변수

 - 모든 객체가 같은 변수를 사용

 - 클래스의 이름을 네잌스페이스로 사용

 - 객체가 없어도 사용 가능


EX) 지역변수, 전역변수, 클래스변수, 객체변수

결과창

전역변수 : g_name 클래스 안에 있든 밖에 있든 상관없이 쓰이는 변수를 말합니다.

클래스 변수 : variable.num  클래스 함수.변수 형태로 쓰이며 해당 클래스내에서 쓰일 수 있는 변수를 말합니다.

객체 변수 : self.name 클래스 내에서 여러개의 객체가 존재하는 경우 다른 객체에서도 사용할 수 있는 변수를 말합니다.

지역변수 : name 해당 객체에서만 사용이 가능한 변수를 말합니다.


결과창 분석

>> from sample import *   모듈을 불러올 때 사용

>> acct1 = variable( )        객체 선언

>> acct1.func('local')         매서드 호출


   self

위에서 보면 메서드 안에 self 라는것을 볼 수 있습니다.

def func(self, name):

- 객체 자기자신

- 모든 메서드가 가지는 기본 인자

- 변수에 넘겨주는 역할을 함

  따라서 메서드의 첫번째는 self를 써야 합니다. ( self 말고 다른 이름을 써도 되지만 통상적으로 self 를 사용합니다.)




'SECURITY > Python' 카테고리의 다른 글

클래스 (Static Method)  (0) 2017.04.20
클래스 (생성자,소멸자,캡슐화)  (0) 2017.04.19
정렬(합병정렬)  (0) 2017.04.18
정렬(거품정렬)  (0) 2017.04.18
정렬(삽입정렬)  (0) 2017.04.18