코딩공부/파이썬
파이썬 클래스
v뚜v
2019. 12. 31. 15:17
클래스는 각자가 지정한 하나의 독립공간이다. 클래스에는 클래스 멤버, 클래스 메소드 라는 요소들이 있다.
클래스 정의 방법
class 클래스이름:
클래스 멤버 정의
클래스 메소드 정의
클래스 멤버는 클래스 메소드 밖에서 정의되는 변수로 클래스 메소드 내에서 정의되는 지역변수나 인스턴스 멤버와는 다르다.
클래스 메소드는 클래스 내에서 정의되는 함수로 첫 번째 인자가 반드시 self로 시작해야 한다.
예)
클래스를 실제 코드에서 사용하기 위해 YonyClass()를 사용해 호출하여 클래스를 인스턴트 객체로 만들어준다.
obj = YonyClass()로 클래스의 인스턴스 객체를 obj에 저장해준다.
인스턴스 객체의 멤버와 메소드를 호출하는 방법
객체.클래스멤버
객체.클래스메소드
예)
obj.str
obj.hi
호출한 결과는 다음과 같다.
클래스 멤버, 인스턴스 멤버
클래스에서 선언되는 변수는 클래스멤버와 인스턴스 멤버가 있다.
클래스 멤버는 클래스메소드 바깥에서 선언되며 클래스 내에서 일반 변수를 선언하는 방법과 마찬가지로 변수 이름으로 선언할 수 있다.
인스턴스 멤버는 클래스 메소드 안에서 self와 함께 선언된다. 클래스의 인스턴스 객체가 만들어질때 자동적으로 호출되는 클래스 생성자에서 선언되는 것이 일반적이다.
클래스 메소드
예)
YonyClass의 클래스 메소드 hello(self, name)의 인자는 name이다.
obj.hello()로 호출할 때 괄호 안에 원하는 이름을 넣어서 호출할 수 있다. 나는 민지라는 이름을 넣어주었다.
결과는 다음과 같다.
위에서 민지라는 이름을 넣어주었기 때문에 민지야 안녕 이라고 출력되었다.