Pythonベースオブジェクト
オブジェクト向けプログラミング
オブジェクトには属性と動作(メソッド、機能)があります.
プロパティは、オブジェクトが持つ値であり、動作はオブジェクトが実行できる機能です.
Pythonクラス
class 클래스이름: 클래스 본체 클래스변수 = 클래스이름() class Car : pass car1 = Car() print(car1)
구분 | 이름 | 역할 |
---|---|---|
클래스 이름 | Car | 자동차 클래스이름 |
속성 | _speed | 차량의 속도변수 |
기능 | get_speed | 속도값 얻어오기 |
start | 출발 | |
stop | 멈춤 | |
accelerate | 속도를 높이다 |
クラスとオブジェクト
- self
객체 자신을 가리키는 특수한 키워드
다른 언어의 this 키워드와 유사한 개념을 가짐
モジュール
함수 또는 클래스를 포함하고 있는 파이썬 파일
import 구문으로 삽입하여 사용
継承の概要
class 클래스 이름(부모클래스) : 클래스 본체 내용
- 기존 클래스와 유사한 클래스를 생성하는 경우 상속하는 것이 유리(is 관계)
- 부모 클래스의 속성과 메소드를 자식 객체가 활용 가능
- 파이썬은 기본적으로 최상위 클래스로 object클래스를 상속받고 있음
- 파이썬은 다중상속을 지원함
オーバーライド(Override)
부모클래스에서 정의된 메소드를 재정의
서브 클래스에서 서로 다른 용도로 사용
クラス属性/インスタンス属性
생성되는 객체마다 별도로 메모리가 할당되는 변수 -> 인스턴스 속성
모든 객체마다 같은 메모리를 참조하여 하나만 할당되는 변수 -> 클래스 속성
方法
인스턴스 메소드 : 객체를 생성한 후 접근할 수 있는 메소드
클래스 메소드 : 객체를 생성하지 않고도 사용할 수 있는 메소드
- 클래스 메소드는 첫번째인자 self를 사용하지 않음
- 클래스메소드는 cls라는 인수를 넣어야함
- 클래스 메소드 선언시 @classmethod 데코레이터를 사용해야 함
static 메소드 : 객체를 생성하지 않고 접근할 수 있는 메소드
- 클래스 메소드와 같이 클래스 이름으로 접근
- 메소드 선언 시 cls를 사용하지 않음
- 메소드 선언 시 @staticmethod 데코레이터를 사용해야함
結果
結果
Reference
この問題について(Pythonベースオブジェクト), 我々は、より多くの情報をここで見つけました https://velog.io/@tjdrhd1207/파이썬기초-객체テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol