Programming

; develop a program

Back-End/Python

[Python] 메소드 재정의 (Method Overriding)

Clloud_ 2022. 9. 27. 12:36
반응형

메소드 재정의 (Method Overriding)

메소드 오버라이딩은 부모 클래스(parent class)의 메소드의 구현부를 자식 클래스(child class)에서 재 구현하여 메소드 구현을 좀 더 구체화하는 것이다.

 

자식 클래스(child class)에서는 상속받은 부모 클래스의 메소드를 그대로 사용해도 되고, 추가하거나 변경해야 할 사항이 생기면 메소드 오버라이딩을 통해 메소드를 재정의하여 사용할 수 있다.

 

예제

Person 클래스를 생성하고 함수를 정의한다.

class Person:

    def go(self):
        print("학교에 간다.")

    def eat(self):
        print("밥을 먹는다.")

Student2 클래스를 생성하고 함수를 정의한다.

메소드를 Person에 정의하고 그것을 상속받아서 재 구현한다.

class Student2(Person):

    def eat(self):
        print("학생식당에서 점심을 먹는다.")

Student2 객체를 생성하고 속성(Attribute) 값들을 조회한다.

s2 = Student2()
s2.eat()	# overriding된 메소드가 실행됨.
s2.go()		# 부모 class의 메소드가 실행

[실행결과]

학생식당에서 점심을 먹는다.
학교에 간다.

 


반응형

'Back-End > Python' 카테고리의 다른 글

[Python] 특수 메소드  (0) 2022.09.28
[Python] super 함수  (0) 2022.09.27
[Python] 상속(Inheritance)  (0) 2022.09.27
[Python] 정보 은닉(Information Hiding)  (0) 2022.09.27
[Python] 객체지향 프로그래밍(OOP)  (2) 2022.09.26