파이썬

상속

hyeongseok.ko 2022. 3. 14. 18:54
반응형

파이썬에도 상속의 개념이 있다.

 

class Test:
    def __init__(self, a):
        self.a = a
        
    def myNum(self):
        print('내 번호는 {}'.format(self.a))
        
test = Test(5)
test.myNum()

요렇게 하면 출력은 

내 번호는 5

가 출력 된다.

 

상속을 구현 하기 위해서는 Java에서와 같이 extends 와 같은 구문을 사용하지 않고

파이썬 에서는 좀더 편하게 사용한다.

class Test:
    def __init__(self, a):
        self.a = a
        
    def myNum(self):
        print('내 번호는 {}'.format(self.a))
        
class Test2:
    def __init__(self,a):
        self.a = a

test = Test2()
test.myNum()

일단 먼저 테스트로 이렇게 먼저 Test2의 인스턴스를 만들고 Test 의 method를 호출 하면 오류를 볼 수 있다.

실행 결과 오류

 

 

생성을 구현 하기 위해서는 java 같이 class 생성 할때와 같으나 extends와 같은 구문을 추가 하는게 아닌

Test2(Test) 이와 같이 클래스 생성할때 이전에 사용하지 않는 Test2사용하고 ( 시작 후 상속 받고자 하는 class를 넣고

)닫아 준다.

 

class Test:
    def __init__(self, a):
        self.a = a
        
    def myNum(self):
        print('내 번호는 {}'.format(self.a))
        
class Test2(Test):
    def __init__(self,a):
        self.a = a

test = Test2(5)
test.myNum()

오류 나지 않고

동일한 내 번호는 5가 나는걸 볼 수 있다.

반응형