🖥️ 객체지향 프로그래밍
◾ 객체를 이용한 프로그램으로 객체는 속성과 기능으로 구성
◾ 일상생활의 객체를 프로그램으로 가져와서 소프트웨어로 만든 것
◾코드 재사용, 모듈화에 효과적
1. 클래스와 객체 생성
◾ 클래스는 class 키워드와 속성(변수) 그리고 기능(함수)를 이용해서 제작
◾ 객체는 클래스의 생성자를 호출
◾ class는 reference변수 사용하여 기능 실행
class Car:
def __init__(self, col, len):
self.color = col
self.length = len
def doStop(self):
print('STOP')
def doStart(self):
print('START!!')
car1 = Car('red', 200)
car2 = Car('blue', 300)
2. 객체 속성 변경
◾ 객체 속성 변경 가능!!
class NewGenerationPC:
def __init__(self, name, cpu, memory, ssd):
self.name = name
self.cpu = cpu
self.memory = memory
self.ssd = ssd
def doExcel(self):
print('Excel Run!!')
def doPhotoshop(self):
print('Photoshop Run!!')
def printPCInfo(self):
print(f'self.name = {self.name}')
print(f'self.cpu = {self.cpu}')
print(f'self.memory = {self.memory}')
print(f'self.ssd = {self.ssd}')
myPc = NewGenerationPC('myPC', 'i5', '16G', '256G')
myPc.printPCInfo()
myPc.cpu = 'i9'
myPc.memory = '64G'
myPc.ssd = '1T'
myPc.printPCInfo()
-----------------------------------------------------------------------
self.name = myPC
self.cpu = i5
self.memory = 16G
self.ssd = 256G
self.name = myPC
self.cpu = i9
self.memory = 64G
self.ssd = 1T
3. 객체와 메모리
◾ 변수는 객체의 메모리 주소를 저장하고 객체를 참조
◾ 얕은 복사 : 객체 주소를 복사하는 것으로 객체 자체 복사 X
◾ 깊은 복사 : 객체 자체를 복사하는 것으로 또 하나의 객체가 생성 