Python 상속inheritance

yun·2023년 8월 28일
0

Python

목록 보기
3/13
post-custom-banner

상속이란?

  • Inheritance allows us to define a class that inherits all the methods and properties from another class
  • 다른 클래스에서 모든 메소드와 프로퍼티를 물려받아 사용하는 것
  • Parent class = 부모 클래스 = base class
  • Child class = 자식 클래스 = derived class

파이썬에서 상속의 특징

  • 다중 상속이 가능하다 (cf. 자바: 클래스는 다중 상속이 불가, 여러 객체의 속성을 상속하려면 인터페이스 사용)
  • 상속을 사용하는 법: 클래스 선언 시 parameter 추가 ex. class 자식(부모)
class Person:
    def __init__(self, fname, lname):
        self.firstname = fname
        self.lastname = lname
    
    def printname(self):
        print(self.firstname, self.lastname)

x = Person("John", "Doe")
x.printname()

class Student(Person):
    pass

x = Student("Mike", "Olsen")
x.printname()
  • 자식 클래스에 init 함수 추가 시, 부모 클래스의 init 함수를 상속하지 않는다.
    • 자식 클래스의 함수가 override
    • init 외에도 이름이 같은 함수에 모두 동일하게 적용됨
class Korean(Person):
    def __init__(self, fname, lname, lname_origin):
        self.firstname = fname
        self.lastname = lname
        self.origin = lname_origin

    def printkoreanname(self):
        print(self.origin, self.lastname, self.firstname)

y = Korean("윤", "오", "해주")  # 자식 클래스의 init
y.printname()  # 부모 클래스에서 상속받은 함수
y.printkoreanname()  # 자식 클래스에서 정의한 함수
  • 타입 체크 활용
post-custom-banner

0개의 댓글