일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- AWS
- 사용법
- programmers
- PHP
- Java
- amazon
- SWiFT
- guard
- Spring
- EC2
- 차이점
- 자료불러오기
- 전의 의존성
- 객체
- DatePicker
- CKEditor4
- 제어문
- 2차원 객체배열
- Gradle
- 옵셔널
- Xcode
- 클래스
- 함수
- switch-case
- CodeIgniter
- class
- pagination
- bootstrap
- jQuery
- 상속
Archives
- Today
- Total
not bad 한 개발
Swift - extension(확장) 본문
(인덕대학교 컴퓨터소프트웨어학과 iOS프로그래밍기초(21-2학기)한성현 교수님 강의 내용을 변형 및 요약 했습니다.)
extension(확장)
- class, struct, enum, protocol에 새로운 기능을 추가합니다.
- extension은 하위 클래스를 생성하거나 참조하지 않고 기존 클래스에 메서드(method), 생성자(initializer), 계산 프로퍼티(computed property) 등의 기능을 추가하기 위하여 사용합니다.
- 클래스(구조체, 열거형, protocol)는 다음과 같은 형태로 확장합니다.
-
extension 기존타입이름 { // 새로운 기능 }
-
(extension 예제 코드)
class Food{
var pay :Int = 5000
var size :Double = 30.5
var payDc :Int{//메서드처럼 보이지만 계산 프로퍼티 입니다.
//get{
return pay -1000
//}
}
func Display(){
print("가격=\(pay), 크기=\(size)")
}
init(pay:Int, size:Double){
self.pay = pay
self.size = size
}
}
var chicken : Food = Food(pay:15000, size:2.0)
chicken.Display()// 가격=15000, 크기=2.0 출력됩니다.
print(chicken.payDc)//14000 출력됩니다.
//표준 자료형 Int 구조체에 20을 더한 값을 반환하는 프로퍼티를 추가했습니다.
extension Int{
var squad :Int{
return self +20
}
}
let reSult:Int = 20
print(reSult.squad)//40이 출력됩니다.
print(20.squad)//40이 출력됩니다.
'Swift' 카테고리의 다른 글
Swift - protocol(프로토콜) (0) | 2021.11.03 |
---|---|
Swift - access modifier(접근 제어) (0) | 2021.11.03 |
Swift - override(클래스 상속) (0) | 2021.11.03 |
Swift - overloading(생성자 중첩) (0) | 2021.11.03 |
Swift - window VS Mac (0) | 2021.10.28 |
Comments