클래스 상속

클래스를 선언할 때, 다른 클래스를 상속(inheritance)받아서 선언할 수 있습니다. 상속을 이용하면 기존 클래스의 속성과 메서드를 그대로 사용할 수 있으며, 필요한 기능만 추가하거나 수정할 수 있습니다. 다음과 같은 형식으로 상속을 사용할 수 있습니다.

 

class 기존클래스이름(상속받을클래스이름):
    추가할속성1 = 초기값1
    추가할속성2 = 초기값2
    def 추가할메서드1(self, 인자1, 인자2):
        코드
    def 추가할메서드2(self, 인자1, 인자2):
        코드

다형성

다형성(polymorphism)은 같은 메서드 이름을 사용하지만, 다른 기능을 수행하는 것을 말합니다. 파이썬에서는 메서드 오버라이딩(method overriding)과 메서드 오버로딩(method overloading)을 이용하여 다형성을 구현할 수 있습니다.

메서드 오버라이딩은 부모 클래스의 메서드를 자식 클래스에서 재정의하여 사용하는 것입니다. 다음과 같은 형식으로 메서드 오버라이딩을 할 수 있습니다.

 

class 부모클래스:
    def 메서드(self):
        코드

class 자식클래스(부모클래스):
    def 메서드(self):
        코드
 
 

메서드 오버로딩은 같은 이름을 가진 메서드를 인자의 개수나 타입에 따라 다르게 정의하여 사용하는 것입니다. 파이썬에서는 메서드 오버로딩을 지원하지 않으므로, 인자의 개수나 타입에 따라 다른 메서드 이름을 사용해야 합니다.

예제

다음은 계산기 클래스를 만드는 예제입니다.

 
 
class Calculator:
    def __init__(self, x, y):
        self.x = x
        self.y = y
    def add(self):
        return self.x + self.y
    def subtract(self):
        return self.x - self.y
    def multiply(self):
        return self.x * self.y
    def divide(self):
        return self.x / self.y

c = Calculator(10, 5)
print(c.add())
print(c.subtract())
print(c.multiply())
print(c.divide())
 

위 코드에서는 Calculator 클래스를 정의하고, 객체 c를 생성하여 다양한 메서드를 호출하여 계산 결과를 출력합니다.

결론

파이썬 클래스는 객체 지향 프로그래밍에서 가장 기본적인 개념 중 하나입니다. 클래스를 이용하여 객체를 생성하고, 속성과 메서드를 사용할 수 있습니다. 생성자와 소멸자를 이용하여 객체의 초기화와 메모리 관리를 수행할 수 있으며, 상속을 이용하여 기존 클래스를 확장할 수 있습니다. 다형성을 이용하여 같은 이름의 메서드를 다른 기능으로 사용할 수 있습니다. 클래스를 이용하여 프로그램을 작성하면 코드의 재사용성과 유지 보수성이 향상되며, 더욱 효율적인 프로그래밍이 가능해집니다.

 

+ Recent posts