본문 바로가기
취미부자/취미1_코딩

패스트캠퍼스 챌린지 13일차 / 클래스 / 상속

by 연습중인최 2021. 11. 13.
반응형

 


--오늘의 학습 범위--

 

Ch 08. 클래스

CH08_03. 상속


 

상속의 개념

*부모클래스와 자식클래스가 존재한다.

**부모클래스에는 속성과 메서드가 있다.

***자식 클래스가 부모클래스에 있는 

    속성과 메서드를 그대로 가지고 올수 있다.

 

 

 

 

 

 

 

 

 

상속 사용 이유/ 방법

많은 몬스터들을 다 각각 클래스 구현해 놓는다면 클래스의 양도 많아지고 유지보수도 어려워지기 때문에 각각 자식 몬스터들을 부모 몬스터에 상속해 놓는다.

 

땅,물,공중에 관련된 메서드 외 몬스터와 관련된 메서드가 많다면 중복할 필요없이 묶을 수 있지 않을까? 해서 몬스터 클래스 하나 만들어서 세가지 자식 클래스에서 공통된 메서드를 부모 메서드로 쓴다.

 

--> ⭐클래스들에 중복된 코드를 제거하고

유지보수를 편하게 하기 위해 사용!

 

 

부모클래스 정의

class Monster:
       def __init__(self,name,health,attack):            /생성자 만들어주고
            self.name =name
            self.health = health
            self.attack = attack
       def move(self):
             print("지상에서 이동하기")

 

속성

①이름

②체력

③공격력

메서드

①이동하기

 

자식클래스 정의                 __init__ 모두 생략

class wolf(Monster):           
       pass           / 몬스터에서 상속받은 메서드만 사용 ---> 그래서 pass/ 그냥 정의만 해 놓고 싶을 떄도 사용          


class shark(Monster):
     def move(self):          
         print("헤엄치기")        /⭐메서드 오버라이딩 : 메서드 재정의


class dragon(Monster):
     def move(self):
         print("날기")

 

속성(Monster로 부터 상속받은)

①이름

②체력

③공격력

⭐메서드 오버라이딩 : 메서드 재정의

①헤엄치기

②날기


실습

# 상속 : 클래스에 중복된 코드 제거
# 부모클래스 정의
class Monster:
    def __init__(self,name,health,attack):
        self.name =name
        self.health = health
        self.attack = attack
    def move(self):
        print(f"[{self.name}]지상에서 이동하기")

# 자식클래스 정의

class wolf(Monster):     # 괄호 안에 상복 받을 클래스 이름 넣어주면 됨
    pass                    # 부모 클래스 메서드 그냥 쓰고 싶으면 pass
class shark(Monster):
    def move(self):      #메서드 오버라이딩: 재정의
        print(f"[{self.name}]헤엄치기")
class dragon(Monster):
    def move(self):      #메서드 오버라이딩: 재정의
        print(f"[{self.name}]날기")

#인스턴스 만들기
wolf =wolf("울프", 1500, 200)
wolf.move()

shark = shark("샤크",3000,400)
shark.move()

dragon = dragon("드래곤", 8000, 800)
dragon.move()

run

[울프]지상에서 이동하기
[샤크]헤엄치기
[드래곤]날기

 


고생했다~ 내일도 힘내자~

 

 

 

link : 

https://bit.ly/3FVdhDa

 

수강료 100% 환급 챌린지 | 패스트캠퍼스

딱 5일간 진행되는 환급챌린지로 수강료 100% 환급받으세요! 더 늦기전에 자기계발 막차 탑승!

fastcampus.co.kr

 

 

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.

반응형

댓글