Data Analysis/Python Basic
[파이썬] 자동차 클래스를 파이썬 코드로 생성
뉴욕킴
2023. 6. 3. 09:56
객체지향 프로그래밍_클래스
클래스: 현실 세계의 사물을 컴퓨터 안에서 구현하기 위해 고안된 개념
- 자동차의 클래스 개념을 실제 코드로 구현
- 인스턴스의 구현 형식 (예시. 실제 생산되는 자동차)
- 구현 순서
생성자의 개념: 인스턴스를 생성하면서 필드값을 초기화시키는 함수
1) __init__() 라는 이름을 사용
2) __ 언더바 2개씩 사용, init는 initialize 초기화의 약자
# 생성자의 개념: 인스턴스를 생성하면서 필드값을 초기화시키는 함수
# __init__() 라는 이름을 사용
# 클래스 선언 부분
Class Car:
color = ""
speed = 0
def __init__(self):
self.color='빨강'
self.speed=0
def upSpeed(self, value):
self.speed += value
def downSpeed(self, value):
self.speed -= value
# 메인코드 부분
myCar1 = Car()
myCar2 = Car()
print('자동차1의 색상은 %s이며, 현재 속도는 %dkm입니다.' % (myCar1.color, myCar1.speed))
print('자동차2의 색상은 %s이며, 현재 속도는 %dkm입니다.' % (myCar2.color, myCar2.speed))
프로그램1 완성 코드
Class Car:
name = ""
speed = 0
def __init__(self, name, speed):
self.name= name
self.speed= speed
def getName(self):
return self.name
def getSpeed(self):
return self.speed
car1, car2 = None, None
car1 = Car('아우디',0)
car2 = Car('벤츠',0)
print('%s의 현재 속도는 %d입니다.' % (car1.getName(), car1.getSpeed()))
print('%s의 현재 속도는 %d입니다.' % (car2.getName(), car2.getSpeed()))
객체지향 프로그래밍_클래스의 상속
- 클래스의 상속: 기존 클래스에 있는 필드와 메서드를 그대로 물려받는 새로운 클래스를 만드는
class Car :
speed = 0
def upSpeed(self, value) :
self.speed += value
print("현재 속도(슈퍼 클래스) : %d" % self.speed)
class Sedan(Car) :
def upSpeed(self, value) :
self.speed += value
if self.speed > 150 :
self.speed = 150
print("현재 속도(서브 클래스) : %d" % self.speed)
class Truck(Car) :
pass # 여기서 정의할 것이 없다면 pass를 넣는다.
# 변수 선언 부분 #
sedan1, truck1 = None, None
# 메인 코드 부분 #
truck1 = Truck()
sedan1 = Sedan()
print("트럭 --> ", end = "")
truck1.upSpeed(200)
print("승용차 --> ", end = "")
sedan1.upSpeed (200)
13장. 객체 지향 프로그래밍-1
객체 지향 프로그래밍//클래스
velog.io
트럭 --> 현재 속도(슈퍼 클래스) : 200
승용차 --> 현재 속도(서브 클래스) : 150