[Swift] 확장(Extension)이란?

Oni·2023년 10월 30일
0

기술면접

목록 보기
8/13
post-thumbnail

1. 확장(Extension)

확장(Extension)은 Swift에서 기존 클래스, 구조체, 열거형 또는 프로토콜에 새로운 기능을 추가하는 방법이다.
기존 타입에 새로운 속성, 메서드, 이니셜라이저, 서브스크립트(subscript) 등을 추가하거나 기존 기능을 수정할 수 있다. 확장을 사용하여 기존 코드를 수정하지 않고도 새로운 기능을 추가할 수 있기 때문에 유용하다.

2. 사용

확장은 다음과 같은 형태로 작성할 수 있다.

extension ExistingType {
    // 새로운 기능 추가
}

예를 들어, Int 타입에 새로운 기능을 추가하는 확장을 작성해보면 다음과 같이 표현할 수 있다.

extension Int {
    var squared: Int {
        return self * self
    }
    
    func times(closure: () -> Void) {
        for _ in 0..<self {
            closure()
        }
    }
}

위의 예제에서 Int 타입에 squared 속성과 times 메서드를 추가하고 있다. squared 속성은 정수의 제곱 값을 반환하고, times 메서드는 클로저를 정수 만큼 반복 실행한다.


확장을 사용하면 기존 타입의 기능을 확장하거나 다른 프로토콜을 채택한 것처럼 사용할 수 있다. 확장은 코드를 모듈화하고 기능을 논리적으로 그룹화하여 관리할 수 있도록 도와준다.

profile
하지만 나는 끝까지 살아남을 거야!

0개의 댓글