###############
# 클래스 : 사용자 정의 자료형
# 구조체 + 함수 => 변수 + 함수의 모임. 불완전 객체 지향
# 상속 : 다중 상속이 가능. 하나의 클래스에 여러개의 부모클래스가 존재
# (자바는 단일 상속.)
# self : 자기참조변수. 인스턴스 함수의 매개변수로 설정해야 한다.(무조건)
# 생성자 : 객체가 생성될 때 자동으로 호출되는 메서드
def__init__(self) :
###############
📌
class Car() : # 기본 생성자 제공 클래스 : 생성자를 구현하지 않음.
color = "" # 멤버 변수
speed = 0 # 멤버 변수
def upSpeed(self,value) : # 멤버 함수(메서드)
self.speed += value
def downSpeed(self,value) : # 멤버 함수(메서드)
self.speed -= value
car1 = Car() # 객체화
car1.color = "빨강"
car1.speed = 10
car2 = Car() # 객체화
car2.color = "파랑"
car2.speed = 20
car2.upSpeed(30)
print("자동차1의 색상: %s, 현재속도: %dkm" %(car1.color,car1.speed))
print("자동차2의 색상: %s, 현재속도: %dkm" % (car2.color,car2.speed))
📌
### 생성자 구현하기
class Car :
color = "" # 멤버 변수
speed = 0 # 멤버 변수
def __init__(self,v1,v2=0) : # 생성자. 인스턴스 메서드이므로 self 변수 필요
self.color = v1 # 인스턴스 변수
self.speed = v2 # 인스턴스 변수
def upSpeed(self,value) : # 멤버 함수(메서드)
self.speed += value
def downSpeed(self,value) : # 멤버 함수(메서드)
self.speed -= value
car1 = Car("빨강",10) # 객체화. 생성자 호출. 오버로딩 할 수 없음.
car2 = Car("파랑",20)
car3 = Car("노랑")
car2.upSpeed(30)
print("자동차1의 색상: %s, 현재속도: %dkm" % (car1.color,car1.speed))
print("자동차2의 색상: %s, 현재속도: %dkm" % (car2.color,car2.speed))
print("자동차3의 색상: %s, 현재속도: %dkm" % (car3.color,car3.speed))
'수업(국비지원) > Python' 카테고리의 다른 글
[Python] 클래스에서 사용되는 특별한 함수들 (0) | 2023.04.24 |
---|---|
[Python] 멤버 변수 - 인스턴스 변수, 클래스변수 와 상속 (0) | 2023.04.24 |
[Python] 예외 처리 (0) | 2023.04.24 |
[Python] 전역변수, 지역변수 (0) | 2023.04.24 |
[Python] 함수 (0) | 2023.04.24 |