Python
class 사용하기
낙타선생
2020. 9. 28. 11:00
반응형
class와 메서드 선언
class 클래스이름:
#객체를 통해 사용할 수 있는 메서드
def 메서드이름1(self):
실행코드
#클래스를 통해 사용할 수 있는 메서드
@staticmethod
def 메서드이름2(매개변수1, 매개변수2 ...):
실행코드
#만약 내용없는 class를 선언하고자 한다면 다른 내용 대신 pass를 입력
class의 속성 추가
# class 선언 시 속성 추가
class 클래스이름:
속성이름8 = 값 # 클래스 속성. 이 클래스로 만들어진 모든 객체가 공유하는 속성이다.
__속성이름9 = 값 # __으로 시작하는 속성명은 java의 private 속성과 같다.
__slot__=['속성이름5', '속성이름6']
"""
객체를 생성할 때 자동으로 호출되는 __init__ 메서드는 Java의 생성자와 같이
객체의 상태를 초기화 하는데 사용된다.
앞, 뒤로 __가 붙은 메서드는 스페셜 메서드 또는 매직 메서드라고 부르며
파이썬에서 자동으로 호출해주는 메서드이다.
self는 클래스로 생성한 객체를 의미한다.
"""
def __init__(self, 매개변수1, 매개변수2):
self.속성이름1 = 값
self.__속성이름2 = 값 # 속성이름 앞에 __를 붙이면 java의 private 키워드와 같다.
self.속성이름3 = 매개변수1
self.속성이름4 = 매개변수2
# 생성된 객체에 속성 추가
객체이름 = 클래스이름()
객체이름.속성이름5 = 값
객체이름.속성이름6 = 값
# __slot__ 이 선언되어 있기 때문에 __slot__ 안에 문자열 형태로 지정되지 않은 속성이름은 추가할 수 없다.
객체이름.속성이름7 = 값
속성은 클래스 속성과 객체 속성이 있다. 클래스 속성이 java의 static 멤버와 동일한 개념이다. 즉 여러 객체에의 해 공유되는 멤버변수가 되겠다.
객체의 생성과 인스턴스 메서드 호출
객체이름 = 클래스이름()
객체이름.메서드이름()
객체의 class 확인
type(객체명)