#클래스 생성
class NewGecerationPc:
def __init__(self, name, cpu, memory, ssd):
self.name = name
self.cpu = cpu
self.memory = memory
self.ssd = ssd
#객체생성
myPc = NewGecerationPc('mypc', 'i5', '16G' ,'256G')
#객체 속성은 변경할 수 있다
myPc.cpu = 'i9'
myPc.memory = '64G'
myPc.ssd= '1T'
#얕은 복사
scores = [10,9,8,7,6,5,4]
scoresCopy = []
scoresCopy = scores
2) 깊은 복사 : 객체 자체를 복사하는 것으로 또 하나의 객체가 만들어진다.
#깊은복사 다양한 방법
scores = [10,9,8,7,6,5,4]
scoresCopy = []
for s in scores:
scoresCopy.append(s)
.extend(scores)
scoresCopy = scores.copy()
scoresCopy = scores[:]
class NomalCar:
def drive(self):
print('[NomalCar] drivr()')
def back(self):
print('[NomalCar] back()')
class TurboCar(NomalCar):
def turbo(self):
print('[TurboCar] turbo()')
class P_class:
def __init__(self,pNum1,pNum2):
print('P_class실행')
self.pNum1 = pNum1
self.pNum2 = pNum2
class C_class(P_class):
def __init__(self, cNum1, cNum2):
print('C_class실행')
#P_Cclass.__init__(self,cNum1,cNum2)
super().__init__(cNum1,cNum2)
self.cNum1 = cNum1
self.cNum2 = cNum2
class Car01:
def drive(self):
print("go")
class Car02:
def turbo(self):
print("turbo")
class Car03:
def fly(self):
print('fly')
class Car(Car01,Car02,Car03):
def __init__(self):
pass
class TriangleArea():
def __init__(self,w,h):
self.width = w
self.height = h
def printTriangleAreaInfo(self):
print(f'self.width : {self.width}')
print(f'self.height : {self.height}')
def getArea(self):
return self.width *self.height / 2
class NewTriangleArea(TriangleArea):
def __init__(self,w,h):
super().__init__(w,h)
def getArea(self):
return str(super().getArea()) + 'cm^2'
from abc import ABCMeta
from abc import abstractmethod
class AirPlane(metaclass=ABCMeta):
#@abstractmethod 사용한다
@abstractmethod
def flight(self):
pass
def forward(self):
print('go')
def backward(self):
print('back')
class Airliner(AirPlane):
def __init__(self,c):
self.color = c
def flight(self):
print('시속 400')