공부블로그
[파이썬]메소드, 변수 정리 본문
21.05.08
공부한 내용
클래스는 크게 속성(변수), 메서드, 초기자(__init__())으로 구성된다.
클래스는 기능을 명세해두는 문서이고 이 기능을 실제로 사용하려면 객체화시켜 사용해야한다.
(보충하기)
변수의 종류
1. 인스턴스 변수
2. 클래스 변수
메소드의 종류
메소드는 주어진 변수를 재료 이용해 기능을 구현하는 것이다. 따라서 사용할 수 있는 변수와 해당 메서드에서 호출할 수 있는 메소드가 중요하다.
1. 인스턴스 메소드
self 키워드를 사용할 수 있어서 인스턴스 변수와 메서드를 사용할 수 있다.
? 클래스 변수 사용가능 한지 코딩해보기 >> 사용가능함
인스턴스 매소드 사용법
1-1) 메서드 안 = self.메소드명()
1-2) 클래스 밖= 객체변수.메서드명()
1-3) 클래스명.메소드명(객체) *네임스페이스 참조 이때 메소드는 세 방식 모두 인스턴스메소드
2. 클래스 메소드
@classmethod를 적어 클래스 매소드를 표시한다.
한 클래스로부터 나오는 개체들이 다 같이 공유하는 변수. 인스턴스의 네임스페이스에 없고 클래스의 네임스페이스를 참조하는 것
매개변수로 cls를 받는다. 즉 cls 사용(cls는 해당 클래스를 의미한다) self를 사용하지 못하니까 인스턴스 속성과 메서드 사용 불가능하고
클래스 속성만 사용가능하다. cls.클래스 속성 형식으로
클래스 메소드를 호출하면 인스턴스에서 호출된것이 아니라 클래스에서 호출 된다
사용법
2-1 클래스.클래스메서드()
2-2 객체변수.클래스메서드() *네임스페이스 참조
3. static 메소드 (정적메소드)
인스턴스 속성, 클래스 속성/메서드 접근 및 호출 불가능
매개변수로 받는 값으로 사용하거나 리턴으로 객체를 만들어 반환한다 생성자를 통해 사용하지 못했던 인스턴스 변수를 이용한다.
사용법은 클래스 메서드와 같다.