새벽코딩

[Python] OOP-4 . Overloading & Overriding 본문

Programming/Python

[Python] OOP-4 . Overloading & Overriding

midnightcoder 2023. 1. 22. 11:40

- Overloading (오버로딩) - 파이썬 미지원

: 같은 메서드명으로 매개변수와 데이터타입, 순서에 따라서 다른 메소드가 호출되는 것

 

#Java 오버로딩 예제 코드
add(int x, int y){
    return x + y;
}

add(int x, int y, int z){
    return x + y + z;
}

 

- Overriding (오버라이딩) - 파이썬 지원

 : 상속관계, 같은 메서드명, 매개변수도 동일, 개수도 동일 (메서드의 선언부 동일)

   그것을 구현부만 다르게 한다. (modify)

 

class Book:

    def _init__(self, title, author, pages):
        self.title = title
        self.author = author
        self.pages = pages

    def __str__(self):
        return "Title : %s, Author : %s, Page : %s" \
               % (self.title, self.author, self.pages)

    def len(self):
        return self.pages


book = Book("Data Structure", "Chun", 650)
print(book)
print(book.len())

 파이썬에서 len( ) 함수는 List 같은 데이터타입의 길이를 나타내는 함수 인데, 

위와같이 Overriding 하여 사용 할 수 있다.

 


나중에 추가 posting 예정