extension (익스텐션)
•
스위프트 클래스, 구조체, 열거형, protocol에 새로운 기능을 추가
•
익스텐션은 하위 클래스를 생성하거나 참조하지 않고, 기존 클래스에 메서드, 생성자(initializer), 계산 프로퍼티 등의 기능을 추가하기 위하여 사용
•
스위프트 언어의 built-in 클래스와 iOS 프레임워크에 내장된 클래스에 기능을 추가할 때, 익스텐션을 이용하면 매우 효과적이다.
•
클래스(구조체, 열거형, 프로토콜)는 다음과 같은 형태로 확장(extension)된다.
extension 기존타입이름 {
// 새로운 기능
}
Swift
복사
️ 단순히 코드를 분리하는 역할로 사용할 수 있지만, 기존 클래스에 새로운 기능을 추가하는 것을 의미한다.