11. extension

익스텐션

익스텐션은 아래와 같은 기능들을 타입에 추가해준다.
1. 연산 타입 프로퍼티와 연산 인스턴스 프로퍼티
2. 타입 메서드와 인스턴스 메서드
3. 이니셜라이저
4. 서브 스크립트
5. 중첩된 타입
6. 특정 프로토콜을 준수할 수 있도록 기능 추가

프로퍼티 홀/짝 감별 기능 추가하기

extension Int {
	var isEven: Bool {
		return self % 2 == 0 
	}
	var isOdd: Bool {
		return self % 2 == 1
	}
}

var number = 3
number.isEven
// false
number.isOdd
// true

String을 Int로 변환해주는 메서드 추가하기

extension String {
	func convertToInt() -> Int? {
		return Int(self)
	}
}

var string = 0
string.convertToInt()
// 0

좋은 웹페이지 즐겨찾기