일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 위험성평가
- 답안
- 실업수당청구건수
- 파이썬 모듈
- AAA 건전지
- 후기
- 중대재해처벌법
- 청탁금지법
- 삼성카드
- 포매팅
- 대상
- 파이썬 import
- 산안법
- 미국주식
- 제어문
- 내돈내산
- 충전식 건전지
- 정답
- 소비자물가지수
- aa 건전지
- 자료형
- 산업안전보건법
- FOMC
- 파이썬 입문
- 12월 미국 경제이벤트
- 미국 경제이벤트
- 안전관리
- 1월 첫째주 경제이벤트
- 파이썬
- 해외직구
- Today
- Total
영감이 번뜩이는 삶
[파이썬 입문] 클래스2 본문
[파이썬 입문] 클래스1
지두 공부하는 중이지만유 클래스 여서부턴 꽤 어렵다고 느껴지네유 앞으로 여러 책에서 접하면서 계속 볼테지만 일단 복습은 무조건 할꺼에유 이 허접한 글 보면서 맛보기하시거나 이해를 도
anordinaryman.tistory.com
↑ 이전 글에서 써먹은 클래스로 본다면 초기값이 없어서 setdata 메서드를 먼저 꼭 실행해야 하는디유
처음부터 초기값을 지정하려면 __init__ 이따구로 생긴 놈을 써야해유
메서드명으로 _ _init_ _을 사용하면 이걸 생성자(Constructor)라고 해유 ( _ ← 언더바)
이전 글의 클래스 A에 생성자를 추가한 예시를 볼께유
>>> class A:
... def __init__(self): #생성자 선언
... self.x = int(input('x값 입력 : ')) #input()은 모두 문자열로 받으므로 int()로 정수화 필요
... self.y = int(input('y값 입력 : '))
... def add(self): #메서드 선언
... return self.x + self.y
...
>>> a = A()
x값 입력 : 2
y값 입력 : 5
>>> a.add()
7
input으로 초기값을 직접 입력받아 클래스 변수에 대입하는 구조로 짜봤어유i
이렇게 하면 setdata 메서드 없이 클래스가 실행되면서 바로 입력을 받게 되는거에유
클래스에는 유용한 기능이 하나 있는데 바로 상속(inheritance)이에유
우리가 아는 상속이란 말 그대로 이미 있는 클래스가 자식을 낳아서 기능을 물려준다고 생각하면 돼유
(물론 부모 클래스는 죽지 않았지만유.... 말이 그렇다는거.........)
위의 클래스 A이 자식 AA를 낳아서 상속시켜볼께유
사용법이 아주 간단해유!
>>> class AA(A): #클래스 상속 A → AA
... pass #기능 없음
...
>>> a = AA()
x값 입력 : 1
y값 입력 : 6
>>> a.add() #클래스 A의 메서드 사용
7
예시의 결과를 보면 자식이 부모랑 하는 짓이 똑같은걸 알 수 있어유
클래스에 속한 함수가 몇개든 다 사용할 수 있는거에유
예시 하나 더 보면서 활용법과 메서드 오버라이딩(overriding)에 대해 익혀봐유
오버라이딩은 덮어쓴다는거니까 이 점 유의해서 보도록 해유
>>> class AA(A): #클래스 상속 A → AA
... def mul(self): #클래스 AA에 메서드 mul 추가
... return self.x * self.y
... def add(self): #메서드 add 오버라이딩
... return str(self.x) + str(self.y) #문자열화하는 예약어 str
>>> a = AA()
x값 입력 : 2
y값 입력 : 4
>>> a.mul()
8
>>> a.add()
'24'
결과를 보면 아시겠지만 상속하면서 새로운 메서드를 추가하는 것도 가능하고 기존의 메서드를 덮어쓰는 것도 가능해유
직접 짜보고 실행해보면 더 이해가 잘 가니까 꼭 해보도록 해유~~
'Python 도전기' 카테고리의 다른 글
[파이썬 입문] 모듈2 (0) | 2022.12.16 |
---|---|
[파이썬 입문] 모듈1 (0) | 2022.12.14 |
[파이썬 입문] 클래스1 (0) | 2022.12.09 |
[파이썬 입문] 입출력 (0) | 2022.12.02 |
[파이썬 입문] 함수 (1) | 2022.11.30 |