선발대

[유튜브] 동빈나 / 파이썬 클래스 본문

공부/유튜브

[유튜브] 동빈나 / 파이썬 클래스

신선한 스타트 2021. 12. 22. 11:26
소개

 

파이썬 클래스 이어서 공부하기!

 

유튜버: 동빈나 / 영상제목: 35강 - 클래스(Class)와 상속 [파이썬(Python) 입문자용 초급]

 

내용정리

 

클래스, 인스턴스 정의

클래스(Class): 반복되는 불필요한 소스코드를 최소화하면서, 현실세계의 사물을 컴퓨터 프로그래밍 상에서 쉽게 표현할 수 있도록 해주는 프로그래밍 기술

인스턴스: 클래스로 정의된 객체를 프로그램 상에서 이용할 수 있게 만든 변수

 

클래스의 2가지 요소

클래스의 멤버: 클래스 내부에 포함되는 변수

클래스의 메소드: 클래스 내부에 포함되는 함수

 

클래스의 생성자

__init__ 함수: 클래스는 일반적으로 생성자를 가짐. 함수 형태. 매개변수 self가 기본적임.

 

class Car:
    # 클래스의 생성자
    def __init__(self, name, color):
        # 클래스 생성과 동시에, 매개변수 name, color를 해당 인스턴스의 멤버 변수로 설정하겠다.
        self.name = name # 클래스의 멤버
        self.color = color # 클래스의 멤버
    # 클래스의 소멸자: 인스턴스 소멸
    def __def__(self):
        print("인스턴스를 소멸시킵니다.")
    # 클래스의 메소드
    def show_info(self):
        print("이름:", self.name, "/ 색상:", self.color)
    # Setter 메소드: 특정 속성의 값을 변경할 수 있음
    def set_name(self, name):
        self.name = name


car1 = Car("소나타", "빨간색") # 우리만의 '자동차'라는 자료형을 만든 것과 같음
car1.show_info()
car1.set_name("아반떼")
print(car1.name, "을(를) 구매했습니다!") # . 으로 멤버에 접근 가능
del car1 # 메모리 상에서 할당 해제된다.

car2 = Car("아반떼", "검은색")
car2.show_info()

 

클래스의 상속

상속: 다른 클래스의 멤버 변수와 메소드를 물려 받아 사용하는 기법

계층적인 프로그램을 작성할 수 있으며, 불필요한 소스코드를 줄일 수 있다.

부모와 자식 관계가 존재한다.

자식 클래스: 부모 클래스를 상속 받은 클래스

 

class Unit:
    def __init__(self, name, power):
        self.name = name
        self.power = power
    def attack(self):
        print(self.name, "이(가) 공격을 수행합니다. [ 전투력:", self.power,"]")

class Monster(Unit):
    def __init__(self, name, power, type):
        self.name = name
        self.power = power
        self.type = type
    def show_info(self): # 자식 클래스 함수는 부모 클래스의 인스턴스는 사용 불가능
        # 자식 클래스의 멤버, 메소드를 우선적으로 사용함.
        print("몬스터 이름:", self.name, "/ 몬스터 종류:", self.type)

unit = Unit("홍길동", 375)
unit.attack()

monster = Monster("슬라임", 10, "초급")
monster.attack() # 부모 클래스에 존재하기 때문에 사용 가능
monster.show_info()
Comments