* 클래스
class 클래스명:
이 부분에 관련 코드 구현
ps. class에는 변수, 함수, 리스트를 넣을 수 있다.
- 클래스를 실제로 생성해서 만드는 것을 객체(인스턴스)라고 한다.
클래스는 설계도에 비유하고 객체는 설계도를 통해 만든 제품에 비유된다.
- 인스턴스 생성
ex) Car 클래스가 있다면 myCar = Car()와 같이 참조변수에 인스턴스를 담아서 생성한다.
- 생성자
생성자는 인스턴스를 생성하면 무조건 호출되는 메서드이다.
def __init__(self):
이 부분에 초기화할 코드 입력
- 생성자에 매개변수를 넣고자 한다면 아래와 같이 하면 된다.
def __init__(self, value1, value2):
이 부분에 초기화할 코드 입력
- 인스턴스 변수
인스턴스가 생성되어야만 사용할 수 있는 변수이다.
'인스턴스.인스턴스변수명'으로 사용가능하다.
- 클래스 변수
클래스 안에 공간이 할당된 변수를 의미한다.
클래스 변수를 만드는 방법은 인스턴스 변수와 동일하다. 하지만 크래스 변수에 접근할 때는 '클래스명.클래스변수명' 또는 '인스턴스.클래스변수명' 방식으로 접근해야 한다.
- 인스턴스 변수와 클래스 변수가 형식이 동일한데 파이썬은 어떻게 구분하는가?
인스턴스 변수와 클래스 변수 선언 시점에서는 구분할 수 없다.
클래스 안에서 필드(변수)에 접근할 때 self를 붙이면 인스턴스 변수이고, 클래스명을 붙이면 클래스 변수를 생성한다.
- 상속
클래스의 상속은 기존 클래스에 있는 필드와 메서드를 그대로 물려받는 새로운 클래스를 만드는 것이다.
상속받은 후에는 새로운 클래스에서 추가로 필드나 메서드를 만들어 사용해도 된다.
- 상위 클래스 = 슈퍼_클래스 or 부모_클래스
- 하위 클래스 = 서브_클래스 or 자식_클래스
class 서브_클래스(슈퍼_클래스):
이 부분에 서브 클래스의 내용 코딩
- 메서드 오버라이딩
메서드 오버라이딩은 상위 클래스의 메서드를 서브 클래스에서 재정의하는 것이다.
'Programming > Python' 카테고리의 다른 글
[Python]함수, 모듈 (0) | 2023.06.01 |
---|---|
[Python]리스트 (0) | 2023.06.01 |
[Python]반복문 (0) | 2023.06.01 |
[Python]조건문 (0) | 2023.06.01 |
[Python]변수, 연산자 (0) | 2023.06.01 |