클래스(변수)
클래스 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 |