11장. 객체지향
- 클래스 선언
12345678910111213141516171819202122232425262728# -*- coding:utf-8 -*-class Car:color = ""speed = 0cnt = 0 # 클래스 변수와 인스턴스 변수는 똑같이 선언, 사용 방법으로 분류# 파이썬은 메소드 오버로딩 지원안함# def __init__(self):# self.color = "빨강"# self.speed = 0def __init__(self, color, speed):self.color = colorself.speed = speedCar.cnt += 1 # 클래스 변수는 클래스명.변수로 사용def up_speed(self, value):self.speed += valuedef down_speed(self, value):self.speed -= valuemyCar1 = Car("노랑", 80)myCar2 = Car("파랑", 60)print(myCar1.color, myCar1.speed, Car.cnt)print(myCar2.color, myCar2.speed, myCar2.cnt) - 상속
12345678910111213141516171819202122232425262728293031323334# -*- coding:utf-8 -*-class Car:speed = 0def up_speed(self, value):self.speed += valuedef down_speed(self, value):self.speed -= valueclass Sedan(Car):seat_no = 0def up_speed(self, value): # 메소드 오버라이딩 지원self.speed += valueif self.speed >= 150:self.speed = 150class Truck(Car):capacity = 0sedan1 = Sedan()sedan1.up_speed(170)sedan1.seat_no = 5truck1 = Truck()truck1.up_speed(30)truck1.capacity = 1500print(sedan1.speed, sedan1.seat_no)print(truck1.speed, truck1.capacity)