상속을 통해 이미 존재하는 클래스의 모든 특징을 물려받는 새로운 클래스를 손쉽게 생성가능
부모 클래스(parent class) 또는 기초 클래스(base class): 미 존재하던 클래스를
자식 클래스(child class) 또는 파생 클래스(derived class): 상속을 통해 새롭게 생성되는 클래스
클래스 상속하기
소괄호(())를 사용하여 그 안에 상속받고 싶은 클래스명을 입력하여 전달함으로 해당 클래스의 모든 멤버를 상속가능
문법
class 자식클래스명(부모클래스명):
EXAMPLE
class Animal:
def __init__(self):
self.run = True
def sound(self):
print("멍멍")
class dog(Animal):
def sound(self):
print("멍멍")
my_pet = dog()
print(my_pet.run)
my_pet.sound()
결과
True
멍멍
코드리뷰 |
dog가 Animal을 상속받음
dog클래스 안에 my_pet이라는 새로운 인스턴스 생성
dog 클래스는 Animal 클래스를 상속받았기 때문에, dog 클래스에서는 선언하지 않았지만 부모 클래스인 Animal 클래스에는 존재하는 run 속성을 자유롭게 사용 가능
메소드 오버라이딩(method overriding)
이미 정의된 메소드를 자식 클래스에서 같은 이름으로 재정의하는 것을 메소드 오버라이딩(method overriding)이라고 합니다.
접근 제어(access control)
파이썬에서는 다른 언어처럼 접근 제어자를 사용하지 않고도, 변수나 메소드의 이름을 작성할 때 그 naming 방식에 따라 접근 제어를 설정함
#public
//멤버 이름에 어떠한 언더스코어(_)도 포함되지 않음.
name
#private
//멤버 이름 앞에 두 개의 언더스코어(__)가 접두사로 포함됨.
__name
#protected
//멤버 이름 앞에 한개의 언더스코어(_)가 접두사로 포함됨.
_name
사진: Unsplash의Kewal
728x90
반응형
'PYTHON' 카테고리의 다른 글
PANDAS-빈 데이터 셀 제거하기[PYTHON개발] (0) | 2023.11.02 |
---|---|
Pandas-Dataframe, csv 파일 읽어오기[PYTHON개발] (0) | 2023.11.02 |
파이썬 클래스와 객체[PYTHON개발] (0) | 2023.11.01 |
PYTHON 함수 선언[PYTHON개발] (1) | 2023.11.01 |
PYTHON 데이터구조-➂세트, 딕셔너리[PYTHON개발] (0) | 2023.11.01 |