익스텐션은 구조체, 클래스, 열거형, 프로토콜 타입에 새로운 기능을 추가할 수 있는 문법으로, 기능을 추가하려는 타입의 구현된 소스 코드를 알지 못하거나 볼 수 없다해도, 타입만 알고 있다면 그 타입의 기능을 확장할 수도 있습니다. 하지만 기존 기능 오버라이딩은 불가능합니다.
익스텐션 타입에 추가 가능한 기능은 연산 타입/인스턴스 프로퍼티, 타입/인스턴스 메서드, 이니셜라이저 등등이 있습니다. 또한 특정 프로토콜을 준수할 수 있도록 기능을 추가할 수 있습니다.