[swift] Swift에서 타입 확장의 타입 확인하기

Swift는 강력한 타입 확인 기능을 제공하여 코드 안정성을 높일 수 있는 언어입니다. 타입 확인은 변수나 상수의 타입을 명시적으로 지정하거나 자동으로 추론하는 것이 일반적입니다. 하지만 때로는 타입 확인을 통해 확장된 타입을 확인하고자 할 수도 있습니다.

예를 들어, String 타입에 대해 확장을 정의하여 특정 기능을 추가할 수 있습니다. 이때, 타입 확인을 통해 해당 기능이 정상적으로 동작하는지 확인할 수 있습니다.

아래의 예제 코드를 살펴보겠습니다.

extension String {
    func isUppercase() -> Bool {
        return self == self.uppercased()
    }
}

let str = "HELLO"

if str.isUppercase() {
    print("문자열은 대문자입니다.")
} else {
    print("문자열은 소문자입니다.")
}

위의 코드는 String 타입에 isUppercase() 메서드를 추가하고 있습니다. 이 메서드는 문자열이 모두 대문자인지를 확인하고 결과를 반환합니다.

변수 str에 저장된 문자열 “HELLO”는 모두 대문자이므로, isUppercase() 메서드를 통해 true를 반환하고 “문자열은 대문자입니다.”가 출력됩니다.

만약 문자열이 소문자로 이루어져 있다면, isUppercase() 메서드는 false를 반환하고 “문자열은 소문자입니다.”가 출력됩니다.

앞서 예제 코드에서 str 변수의 타입은 String입니다. 하지만 isUppercase() 메서드는 String 타입의 확장으로 추가된 메서드입니다. 따라서 확장된 메서드를 호출하여 해당 메서드가 정상적으로 동작하는지 확인할 수 있습니다.

Swift에서 타입 확인을 통해 확장된 타입의 기능을 사용해보면 코드를 더욱 유연하고 확장 가능하게 작성할 수 있습니다.