Extension
확장구문
- 인스턴스 연산 프로퍼티와 타입 연산 프로퍼티를 추가할 수 있다.
- 인스턴스 메소드와 타입 메소드를 정의할 수 있다.
- 새로운 초기화 구문을 추가할 수 있다.
- 기존 객체를 수정하지 않고 프로토콜을 구현할 수 있다.
extension 확장할 기존 객체{
확장할 기능 구현
}
확장 구문과 연산 프로퍼티
extension Double{
var km : Double {return self * 1_000.0}
var description : String{
return "\(self)km는 \(self.km)m"
}
}
확장 구문과 메소드
extension Int {
func repetitions(task: () -> Void){
for _ in 0.. < self{
task()
}
}
}