본문 바로가기

Python

[기초] Class 생성과 상속


1. 클래스 생성

 #클래스 정의
class Dog :

	#클래스 생성 시 함께 실행되는 함수(=생성자)
	#클래스 생성 시 받고 싶은 파라미터를 넣으면 된다
	def __init__ (self, breed) : #클래스 내부 함수에는 'self'를 인자로 주어야한다
		self.breed = breed

	def bark (self, sound:str) : #sound는 str타입으로 입력되어야 함
		print(sound * 5)

# mary라는 이름의 리트리버 강아지 생성
mary = Dog('retriever')

# 마리야 '멍'하고 짖어!
mary.bark('멍')
# >>> 멍멍멍멍멍

# 마리 견종은 뭐더라?
mary.breed
# >>> retriever


2. 클래스 상속

처음 만들었던 클래스(부모 클래스)의 attribute과 method를 물려받으면서도 추가와 변경이 가능한 '자식 클래스'를 만들 수 있다.

 

#자식 클래스 생성
#괄호 안에 상속받고자 하는 클래스 이름을 넣는다
class Baby_Dog(Dog) : 

	def bark (self, sound:str) :
		print("나는 최고의 강아지다! ", sound *2)
	# 부모 클래스에 존재하는 이름의 함수이기 때문에 오버라이딩(덮어쓰기) 된다

# maro라는 mix종 강아지 생성
# 따로 지정하지 않아도 견종을 입력해야 강아지가 생성되는 __init__함수를 물려받았다
maro = Baby_Dob('mix')

maro.bark('왈')
# >>> 나는 최고이 강아지다! 왈왈
# 같은 함수이지만 자식 클래스에서는 변경되었다

'Python' 카테고리의 다른 글

[기초] while문 활용해 가위바위보 게임 만들기  (0) 2023.06.26
[Flask] 생활코딩 강의 요약  (0) 2023.06.26