[iOS][Swift] 클래스 추상화와 사용이유

Jay·2023년 7월 20일
0

iOS

목록 보기
4/47

1. 추상화란 무엇인가?

추상화는 복잡한 시스템을 간단한 개념으로 변환하는 프로세스입니다. 이는 관련성이 없는 세부 사항을 제거하고 중요한 특성만을 강조함으로써 달성됩니다.

2. 추상 클래스란 무엇인가?

Swift에서는 직접적인 추상 클래스 개념이 없습니다. 하지만 프로토콜과 클래스 상속을 통해 추상화를 구현할 수 있습니다. 추상 클래스는 기본적인 행동을 정의하고, 그 행동을 어떻게 수행할지는 하위 클래스에게 맡기는 클래스입니다.

3. 추상화를 사용해야 하는 이유

코드의 간결성: 추상화를 통해 코드의 복잡성을 줄이고 이해를 쉽게 만들 수 있습니다.

타입 안정성: 추상화는 타입 안정성을 제공하여 런타임 오류의 가능성을 줄입니다.

확장성: 추상 클래스를 사용하면 새로운 기능을 추가하기가 훨씬 쉽습니다. 기존 클래스를 수정하지 않고 새로운 클래스를 추가하거나 기존 클래스를 확장하는 방식으로 요구 사항을 쉽게 충족시킬 수 있습니다.

4. 예제 코드

동물의 행동 모델링 예제:

protocol Animal {
    func makeNoise()
}

class Dog: Animal {
    func makeNoise() {
        print("Woof!")
    }
}

class Cat: Animal {
    func makeNoise() {
        print("Meow!")
    }
}

let myDog: Animal = Dog()
let myCat: Animal = Cat()

myDog.makeNoise() // Woof!
myCat.makeNoise() // Meow!

위 코드에서, Animal은 추상화 개념을 나타내며, Dog와 Cat은 Animal의 구체적인 형태입니다. 이들은 Animal이 요구하는 makeNoise() 메소드를 구현합니다.

5. 결론

Swift에서 추상화는 코드의 간결성, 타입 안정성, 그리고 확장성을 높이는 데 중요한 역할을 합니다. 추상화를 사용하면 복잡한 시스템을 간단하게 만들고, 런타임 오류를 줄이며, 요구 사항 변경에 대응하기 쉽게 만들 수 있습니다.

profile
Junior Developer

0개의 댓글