객체는 속성과 행위(메서드, 기능)를 가지는 대상
속성은 객체가 가지는 값이며 행위는 객체가 수행할 수 있는 기능
class 클래스이름: 클래스 본체 클래스변수 = 클래스이름() class Car : pass car1 = Car() print(car1)
구분 | 이름 | 역할 |
---|---|---|
클래스 이름 | Car | 자동차 클래스이름 |
속성 | _speed | 차량의 속도변수 |
기능 | get_speed | 속도값 얻어오기 |
start | 출발 | |
stop | 멈춤 | |
accelerate | 속도를 높이다 |
함수 또는 클래스를 포함하고 있는 파이썬 파일
import 구문으로 삽입하여 사용
class 클래스 이름(부모클래스) : 클래스 본체 내용
부모클래스에서 정의된 메소드를 재정의
서브 클래스에서 서로 다른 용도로 사용
생성되는 객체마다 별도로 메모리가 할당되는 변수 -> 인스턴스 속성
모든 객체마다 같은 메모리를 참조하여 하나만 할당되는 변수 -> 클래스 속성
인스턴스 메소드 : 객체를 생성한 후 접근할 수 있는 메소드
클래스 메소드 : 객체를 생성하지 않고도 사용할 수 있는 메소드
- 클래스 메소드는 첫번째인자 self를 사용하지 않음
- 클래스메소드는 cls라는 인수를 넣어야함
- 클래스 메소드 선언시 @classmethod 데코레이터를 사용해야 함
static 메소드 : 객체를 생성하지 않고 접근할 수 있는 메소드
- 클래스 메소드와 같이 클래스 이름으로 접근
- 메소드 선언 시 cls를 사용하지 않음
- 메소드 선언 시 @staticmethod 데코레이터를 사용해야함
결과
결과