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)

 

13장. 객체 지향 프로그래밍-1

객체 지향 프로그래밍//클래스

velog.io

트럭 --> 현재 속도(슈퍼 클래스) : 200
승용차 --> 현재 속도(서브 클래스) : 150

 

'Data Analysis > Python Basic' 카테고리의 다른 글

[파이썬] 거북이 글자쓰기  (0) 2023.06.03
[파이썬] 기말고사 대비  (3) 2023.06.02
[파이썬] 파일 입출력의 기본  (0) 2023.05.20
[파이썬] 문자열 기초 코드  (0) 2023.05.07
[파이썬] 함수 기본  (0) 2023.05.07