- 객체란 식별 가능한 개체 또는 사물이다.
실제로 보이는 사물일수도, 보이지않는 추상적인 개념일 수도 있다.
객체는 구별 가능한 식별자, 특징적인 행동(함수), 변경 가능한 상태(변수)를 가진다.
- 실제 세계는 사물(객체)로 이루어져 있으며,
발생하는 모든 사건들은 사물간의 상호작용이다.
컴퓨터 세계에서도 실제 세계처럼 사물(객체)로 이루어져있고,
객체끼리 서로 상호작용을 한다.
- 클래스 이름은 대문자로 시작한다.
- Python의 클래스에서 생성자의 경우
첫번째 매개변수로 해당 클래스의 인스턴스를 받아야만 한다.
그리고 인스턴스 변수는 self.변수명 으로 만들어 생성자 안에 넣어준다.
(인스턴스가 생길때마다 값이 계속 변함)
- 또 객체 내부의 함수 또한 인스턴스 첫 번째 매개변수로
self(인스턴스)를 받아야만 인스턴스 변수를 사용할 수 있다.
class 클래스명 (object) :
클래스멤버변수 = 값
# 생성자
def __init__(self, v1, v2, ...) :
self.v1 = v1 # 인스턴스 변수
self.v2 = v2 # 인스턴스 변수
def 함수 (self) :
# 함수에서 수행할 내용
return self.v1
# get과 set으로 인스턴스변수의 값에 접근 가능
def get (self) :
return self.v1
def set (self, var1, var2..) :
self.v1 = var1
...
def __delf__(self) :
# 소멸자 : 인스턴스 삭제시 호출 - 파이썬에서는 필요없음.
# 멤버변수 접근
print(클래스명.클래스멤버변수)
# 인스턴스 생성
이름 = 클래스명()
# 인스턴스 삭제(파이썬은 종료시 자동으로 소멸된다.)
del 이름