정보보안공부
python_day17_클래스 본문
--- 클래스
클래스는 메서드, 속성, 클래스 변수, 초기자, 소멸자 등의 여러 맴버들을 가질수 있다.
예)
# 결과
-> r = Rectangle(2,3) 객체 r을 생성하였다.
-> area = r.calcArea() area 변수에 r객체의 가로 x 세로 값을 대입
-> r.width와 r.height의 값을 대입하여 area 변수의 값변동 확인
-> r2 객체를 만들게되면 전체 count의 수가 총 2개를 만들게 되었으므로 2가된다.
-- 메서드 : 클래스 내의 함수
클래스의 행위를 표현하는 것으로 클래스 내의 함수로 볼 수 있다.
해당 클래스와 관련된 어떤 행위를 표현하는 함수이다
함수와 다르게 항상 첫번째 파라미터로 해당 클래스 객체를 나타내는 "self"를 갖는다.
--예제에서 calcArea()가 메서드에 해당된다.
-- 클래스 변수
클래스 정의에서 메서드 밖에 존재하는 변수를 클래스 변수라 한다
해당 클래스를 사용하는 모두에게 공용으로 사용되는 변수이다.
클래스 변수는 "클래스명.변수명" ( 클래스 내외부에서 )
"인스턴스변수명.변수명" ( 클래스 외부에서 )으로 엑세스 할 수 있다.
--예제에서 count는 클래스 변수로서 클래스 내부에서는 Rectangle.count과 같이 엑세스 할 수 있다.
-- 인스턴스 변수
"self.변수명"처럼 사용되는 변수를 인스턴스 변수라 한다.
클래스 내부에서는 self.width 와 같이 "self."를 사용하여 엑세스하고
클래스 외부에서는 "객체변수.인스턴스변수"와 같이 엑세스한다.( r.width)
-- 초기자
클래스로 부터 객체를 만들때 실행되는 특별한 메서드, 인스턴스 변수를 초기화하거나 객체의 초기상태를 만들기 위한 문장을 실행한다.
-- 객체의 생성과 사용
객체 : 클래스를 사용하기위해서 필요
객체를 생성하기 위해서는 "객체변수명 = 클래스명()" 꼴로 생성한다.
__init()__함수와 파라미터들이 지정되어 있다면, "클래스명(입력파라미터들)"과 같이 파라미터를 괄호안에 전달한다.
## 은행계좌 만들어보기
-> count = 0 클래스 변수를 사용하여 계좌가 만들어질때마다 카운트를 +1한다.
-> __init__ 생성자 ( 계좌가 만들어지면 ) self.name = name self.balance = balance Bank.count += 1
-> property를 이용하면 해당함수 뒤에 ()를 입력하지않아도 호출된다.
-> deposit 입금함수
-> withdraw 출금함수 : 출금함수의 경우 출금하려는 금액이 잔액보다 크면 잔액이 부족합니다 문구를 출력하도록 설정한다.
# 결과
'Language > python' 카테고리의 다른 글
python_day18_상속 (0) | 2017.02.12 |
---|---|
python_day16_합병정렬, 랜덤합병정렬 (0) | 2017.02.12 |
python_day15_선택정렬, 랜덤선택정렬 (0) | 2017.02.09 |
python_day14_피보나치 수 (0) | 2017.02.09 |
python_day13_재귀함수2_곱셈함수,지수함수 (2) | 2017.01.31 |