일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- xcode로 날씨앱 만들기
- 영문 개인정보처리방침
- weatherKit
- SwiftUI Boolean 값
- Required Reason API
- 한국어 개인정보처리방침
- Startign Assignments
- 러닝타이머
- CLLocationManagerDelegate
- Xcode
- RunningTimer
- 러닝기록앱
- AnyObject
- UIAlertAction
- 클로저의 캡슐화
- weak var
- 서체관리자
- CoreLocation
- 단일 책임원칙
- Timer
- addannotation
- Protocol
- WeatherManager
- UICollectionViewFlowLayout
- dispatchsource
- MKMapItem
- swift
- MKMapViewDelegate
- font book
- App Store Connect
- Today
- Total
VesselWheel
Extension (확장 - (추가)) 본문
import UIKit
/* Extension (확장 - (추가))
처음 작성한 클래스의 내용(멤버변수(속성), 멤버메소드(기능))을 추가함
ㄴ 클래스, 구조체, 열거형, 기본자료형
overriding: 부모클래스에서 물려받은 메소드를 재정의함
overloading: 같은 클래스 안에서 같은 이름의 메소드의
매개변수부를 다르게 해서 구분함
extension: 다른 이름의 메소드를 추가하는 것
상속(inheritance: 확장) 추가(extension)
클래스에서만 가능함 클래스, 구조체, 열거형, 기본자료형 등에서 사용
overriding 이 가능 overriding 은 안 되고 새롭게 추가만 가능
*/
// 속성 추가
// isEven 과 isOdd 는 원래 Int type 에 없는데, 추가함
extension Int{
var isEven: Bool{
get{
return self % 2 == 0
}
}
var isOdd: Bool{
get{
return self % 2 == 1
}
}
}
var number1: Int = 11
print("number1.isEven :",number1.isEven)
var number2: Int = 10
print("number2.isEven :",number2.isEven)
number1 = 11
print("number1.isOdd :",number1.isOdd)
number2 = 10
print("number2.isOdd :",number2.isOdd)
print(15.isEven)
print(15.isOdd)
// 기능 추가 전
// Value of type 'Int' has no member 'multiply'
// 20.multiply(by: 2)
// 기능 추가 후
extension Int{
func multiply(by n: Int) -> Int{
return self * n
}
}
print("20.multiply(by: 2) :",20.multiply(by: 2))
'Xcode Study' 카테고리의 다른 글
assert / guard (0) | 2023.10.19 |
---|---|
Generic (0) | 2023.10.19 |
형변환 : Type Casting(2) (1) | 2023.10.19 |
형변환 : (data) type casting (1) | 2023.10.19 |
protocol (0) | 2023.10.19 |