middlemoon
파이썬 5교시 본문
5교시 클래스
반복되는 변수 & 메서드(함수)를 미리정해놓은틀(설계도)
양식
class Calculator:
def _init_(self):
self.result = 0
def add(self, num):
self.result += num
return self.result
cal1 = Calculator()
cal2 = Calculator()
예시
class FourCal :
def __init__(self, first, second): <언더바는 2개>
self.first = first
self.second = second <init은 처음시작하다라는 클래스의 의미로 쓰이게된다>
def setdata(self, first, second):
self.first = first
self.second = second
def add(self):
result = self.first + self.second
return result
a = FourCal()
a.setdata(4, 2) a.setdata는 self이고 4는 first 2는 second
print(a.add())
*클래스의 상속 계산기에 복잡한 공학용계산기로 만드는 과정
*부모 클래스
class FourCal : <부모클래스>
def __init__(self, first, second): <언더바는 2개>
self.first = first
self.second = second <init은 처음시작하다라는 클래스의 의미로 쓰이게된다>
def setdata(self, first, second):
self.first = first
self.second = second
def add(self):
result = self.first + self.second
return result
class MoreFourCal(FourCal): 자식클래스<괄호안에부모클래스 선언>
pass
a = MoreFourCal(4, 2)
print(a.add())
자식이 먼저 클래스로 나올수있다.
메서드 오버라이딩이란? 쉽게 설명하자면
맨 처음나오는것이 부모클래스 뒤에것이 자식인데
자식클래스의 코드가 뒤늦게나와도 우선시되기때문에
부모클래스는 묻히는 현상을 말한다
*클래스 변수
class Family:
lastname = “김”
클래스 바로 밑에 생성해주는
*모듈이란?
미리 만들어 놓은 .py 파일 (함수, 변수, 클래스)
양식 import mod1<이미 만든파일생성>