<1>
a는 객체이다.
a는 이 클래스의 인스턴스이다.
클래스로 만든 객체를 인스턴스라고 부르기도 하는데,
객체 a는 클래스 Cookie의 인스턴스이다. 와 같이
인스턴스는 객체와 클래스의 관계를 설명할 때 사용하는 단어이다.
클래스 안에 구현된 함수는 메서드라고도 부른다.
<2>
클래스 함수에서
메서드의 첫 번째 매개변수 self에는 메서드를 호출한 객체 a가 자동으로 전달된다.
class FourCal:
def __init__(self, first, second):
self.first = first
self.second = second
a=FourCal(3,1)을 수행하면
__init__메서드의 매개변수에는
self:a
first:3
second:1
이렇게 값이 전달 됨.
요기서 3과 1은 객체에 생성되는 객체만의 변수니까 객체변수 또는 속성이라고 한다.
객체변수는 다른 객체의 변수와는 상관없는 독립적인 변수이다.
<3>
인스턴스의 객체 변수의 초깃값을 설정하는 방법: 생성자 메서드(__init__)
setdata 메서드를 쓰는 것보다는 생성자를 구현하는 것이 더 안전하다.
생성자(constructor)란 객체가 생성될 때 자동으로 호출되는 메서드를 의미한다.
파이썬 메서드명으로 __init__를 사용하면 이 메서드는 생성자가 된다.
예시)
def __init__(self, first, second):
self.first = first
self.second = second
이런 건데, setdate메서드랑 이름만 다르고 생긴 것은 똑같다. 다만 이제 이 메서드는 생성자로 인식되어 객체가 생성될 때 자동으로 호출된다.
<4>
클래스의 상속: 어떤 클래스가 다른 클래스의 기능을 물려받을 수 있도록 하는 것.
class MoreFourCal(FourCal):
괄호 속에 상속할 클래스 이름을 넣으면 됨. 상속할 클래스의 모든 기능 사용 가능
*메서드 오버라이딩:
상속한 클래스에 있는 메서드를 동일한 이름, 다른 기능으로 덮어쓰기
(예를들어 원래 div라는 메서드는 0으로 나누면 오류가 났는데 , if문을 추가하여 0으로 나누면 0값이 나오는 함수로 바꿀 때 쓸 수 있다.)
<4>
클래스변수는 클래스에 대하여 선언, 클래스 변수 변하면 클래스로 만든 모든 객체에서 변수가 변함.
'파이썬 입문' 카테고리의 다른 글
파이썬 코드 일시정지하기, for문 진행 정도 확인(tqdm()), 람다함수 사용법 (0) | 2023.12.02 |
---|---|
파이썬 날짜와 시간 구하기, 날짜와 시간 연산 (2) | 2023.12.02 |
<점프투파이썬> 04-2 사용자 입출력 (0) | 2023.08.10 |
<점프 투 파이썬>04-1 함수 (0) | 2023.08.10 |
<점프 투 파이썬> 03-3 for문 (0) | 2023.08.05 |