클래스와 객체 (Class/Object,Instance)
객체지향 (class와 object)
- Class를 틀/설계도라 할 때, Object는 하나의 완성품
- Class의 속성, 함수 등은 그 Class의 Object도 갖게 됨
class classname:
pass
‘classname’이라는 이름의 Class를 선언
dir (classname)
‘classname’ Class와 관련된 전체 속성들을 리스트로 출력
objectname = classname(objectname)
‘classname’ Class로 ‘objectname’이라는 이름의 Object 생성
type(objectname)
‘objectname’ Object의 Class를 출력
class classname:
xpos = 0
ypos = 0
stance = "idle"
‘classname’ Class에 ‘xpos’, ‘ypos’, ‘stance’ 라는 속성을 추가
objectname.xpos = 50
‘objectname’ Object의 ‘xpos’ 속성을 50으로 변경
class classname:
xpos = 0
ypos = 0
stance = "idle"
def get_xypos(self)
return self.xpos + self.ypos
def set_xypos(self, data1, data2)
self.xpos = data1
self.ypos = data2
‘get_xypos’, ‘set_xypos’ Method를 추가
- 위에서 ‘get_xypos’, ‘set_xypos’는 클래스 내부에서 접근했기 때문에 클래스 밖에서는 사용 불가
objectname.set_xypos(2, 2)
‘objectname’ Object에서 (2, 2)를 넣고 ‘set_xypos’ Method를 실행
- ‘objectname’ Object의 ‘self.xpos’가 2, ‘self.ypos’가 2로 변경됨