정보보안공부

python_day17_클래스 본문

Language/python

python_day17_클래스

Steady_sp 2017. 2. 11. 22:07

--- 클래스

 

클래스는 메서드, 속성, 클래스 변수, 초기자, 소멸자 등의 여러 맴버들을 가질수 있다.

예)

 

 

# 결과

 

-> 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 출금함수 : 출금함수의 경우 출금하려는 금액이 잔액보다 크면 잔액이 부족합니다 문구를 출력하도록 설정한다.

 

# 결과

 

 

 

 

Comments