일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 옵셔널
- SWiFT
- 객체
- class
- 상속
- 전의 의존성
- jQuery
- CodeIgniter
- guard
- CKEditor4
- amazon
- DatePicker
- Spring
- 자료불러오기
- PHP
- Xcode
- 함수
- 2차원 객체배열
- Java
- 사용법
- pagination
- switch-case
- 클래스
- EC2
- 제어문
- Gradle
- AWS
- programmers
- bootstrap
- 차이점
Archives
- Today
- Total
not bad 한 개발
Swift - 인스턴스 초기화하기 본문
(인덕대학교 컴퓨터소프트웨어학과 iOS 프로그래밍 기초(21-2학기) 한성현 교수님 강의 내용을 변형 및 요약했습니다.)
init() 인스턴스 초기화
- 클래스, 구조체, 열거형(enum) 인스턴스가 생성되는 시점에서 해야 할 초기화 작업입니다.
- init()은 인스턴스가 만들어지면서 자동으로 호출됩니다.
- init 메서드 생성하는 방법
-
init(){ //프로퍼티를 넣어줍니다. }
-
- designated initializer라고 하여 모든 프로퍼티를 초기화시키는 생성자입니다, designated initializer 는 기본적으로 코드상에는 안 보이지만 init()를 하나라도 만들면 designated initializer 는 사라집니다.
(init() 예제 코드 1)
class woMan {
var age1 :Int = 30
var weight2 :Double = 60.0
func disPlay (){
print ("나이:\(age1), 무게:\(weight2)")
}
init (myAge :Int , myWeight :Double ){
age1 = myAge
weight2 = myWeight
}//designated initailizer
}
//var Lee : woMan = woMan()
//init()호출 : 오류
//init()을 하나라도 만들면 안보이는 default initializer은 사라집니다.
var Lee : woMan = woMan (myAge :30 , myWeight :60.5 )
Lee.disPlay () //나이:30, 무게:60.5
(init() 예제 코드 2 : init() 예제 코드 1에서 초기값 30, 60.0은 생략할 수 있는가?)
class woMan{
var age1 :Int
var weight2 :Double
func disPlay(){
print("나이:\(age1), 무게:\(weight2)")
}
init(myAge :Int, myWeight :Double){
age1 = myAge
weight2 = myWeight
}//designated initailizer
}
//var Lee : woMan = woMan()
//init()을 하나라도 만들면 안보이는 default initializer은 사라집니다.
var Lee : woMan = woMan(myAge:30, myWeight:60.5)
Lee.disPlay()
//있어도 상관이 없고 없어도 initializer가 있으면 값을 무조건 넣어야
//돌아가기 때문에 생략해도 문제는 없습니다.
//결과
//나이:30, 무게:60.5
'Swift' 카테고리의 다른 글
Swift - property(프로퍼티) (0) | 2021.10.23 |
---|---|
Swift - self (0) | 2021.10.23 |
Swift - class(클래스) (0) | 2021.10.23 |
Swift - closure(클로저) (0) | 2021.10.09 |
Swift - first class object(1급 객체) (0) | 2021.10.09 |
Comments