반응형
class Family: # 클래스(부모 객체) - Family
def __init__(self, name, age):
self.name = name # 인스턴스 변수(속성) - 이름
self.age = age # 인스턴스 변수(속성) - 나이
def greet(self): # 메소드(행위) - 인사하기
print("안녕하세요.")
def get_age_in_future(self, year): # 메소드(행위) - 미래 나이 계산하기
age_in_future = self.age + year # 현나이 + (5) 5년뒤 나이 더하기
print(f"{self.name} {year}년 후 나이 : {age_in_future}")
class Grandparents(Family): # Grandparents, 클래스(자식 객체) - Family
def greet(self): # 메소드(행위) - 할아버지가 인사하기
print(f"{self.name} 할아버지({self.age}세) : 안녕하세요.")
def get_age_in_future(self, year): # 메소드(행위) - 할아버지의 미래 나이 계산하기
super().get_age_in_future(year) # Family 클래스의 메소드 호출
class Parents(Grandparents): # Parents, 클래스(자식 객체) - Grandparents
def greet(self): # 메소드(행위) - 아버지가 인사하기
print(f"{self.name} 아버지({self.age}세) : 안녕하세요.")
def get_age_in_future(self, year): # 메소드(행위) - 아버지의 미래 나이 계산하기
super().get_age_in_future(year) # Grandparents 클래스의 메소드 호출
class Children(Parents): # Children, 클래스(자식 객체) - Parents
def greet(self): # 메소드(행위) - 손자가 인사하기
print(f"{self.name} 손자({self.age}세) : 안녕하세요.")
def get_age_in_future(self, year): # 메소드(행위) - 손자의 미래 나이 계산하기
super().get_age_in_future(year) # Parents 클래스의 메소드 호출
# 인스턴스 생성
grandparents = Grandparents("할아버지", 75) # 할아버지 인스턴스 생성
parents = Parents("아버지", 50) # 아버지 인스턴스 생성
children = Children("손자", 25) # 손자 인스턴스 생성
# 안녕하세요 호출
grandparents.greet() # 할아버지 메소드 호출
parents.greet() # 아버지 메소드 호출
children.greet() # 손자 메소드 호출
# 출력
# 할아버지 할아버지(75세) : 안녕하세요.
# 아버지 아버지(50세) : 안녕하세요.
# 손자 손자(25세) : 안녕하세요.
# 5년 뒤 나이 출력하기
print("5년 뒤...")
grandparents.get_age_in_future(5) # 할아버지 메소드 호출
parents.get_age_in_future(5) # 아버지 메소드 호출
children.get_age_in_future(5) # 손자 메소드 호출
# 출력
# 5년 뒤...
# 할아버지 5년 후 나이 : 80
# 아버지 5년 후 나이 : 55
# 손자 5년 후 나이 : 30
|
cs |
반응형
'파이썬 > 그외' 카테고리의 다른 글
파이썬 코드로 wav 파일 gain 올리기 (0) | 2023.12.01 |
---|---|
아나콘다 파이썬 jupyter notebook에서 이미지가 open이 안된다면 (0) | 2023.07.13 |
파이썬 간단한 exe 파일 만들기 (0) | 2023.05.07 |
파이썬 단어 찾기 or 문장 찾기 .count() (0) | 2022.09.30 |
파이썬 문자열에 공백 제거하기 리스트에서 리스트 (0) | 2022.05.10 |
댓글