[swift] 기본 클래스와 서브 클래스 사이의 관계 이해하기

기본 클래스와 서브 클래스는 객체지향 프로그래밍의 중요한 개념입니다. 이러한 관계를 이해하고 활용함으로써 코드의 재사용성을 높일 수 있고, 유연한 설계를 할 수 있습니다.

기본 클래스 (Superclass)

기본 클래스는 다른 클래스들이 상속받는 기반 클래스입니다. 기본 클래스는 보통 보다 일반적이고 포괄적인 개념을 나타내며, 다른 클래스들이 공통으로 가지는 속성과 메서드를 포함합니다.

class Animal {
    var name: String
    
    init(name: String) {
        self.name = name
    }
    
    func makeSound() {
        // 동물의 울음소리를 출력하는 메서드
    }
}

위의 예시에서 Animal 클래스는 기본 클래스로, name 속성과 makeSound() 메서드를 포함하고 있습니다.

서브 클래스 (Subclass)

서브 클래스는 기본 클래스로부터 상속받은 클래스입니다. 서브 클래스는 상속받은 속성과 메서드를 포함하며, 이를 확장하거나 수정하여 보다 구체적인 기능을 나타낼 수 있습니다.

class Dog: Animal {
    var breed: String
    
    init(name: String, breed: String) {
        self.breed = breed
        super.init(name: name)
    }
    
    override func makeSound() {
        print("멍멍!")
    }
}

위의 예시에서 Dog 클래스는 Animal 클래스를 상속받은 서브 클래스로, breed 속성을 추가하고 makeSound() 메서드를 재정의하여 구체적인 동물인 개를 표현하고 있습니다.

결론

기본 클래스와 서브 클래스 사이의 관계를 이해하고 활용하여, 코드를 보다 모듈화하고 유지보수하기 쉽게 만들 수 있습니다. 상속을 통해 공통된 기능을 기본 클래스에 구현하고, 이를 상속받아 필요에 맞게 확장하거나 수정함으로써 효율적인 프로그래밍을 할 수 있습니다.


참고 문헌:

  1. Swift 공식 문서