swift 문법 총정리(10) Initialization & Deinitilization

Updated:

Initialization

초기화
인스턴스 생성

class Score{
	var homeTeamScore: Int
	var awayTeamScore: Int

	func totalScore() -> Int{
		return homeTeamScore + awayTeamScore	
	}

	init() {
		homeTeamScore = 5
		awayTeamScore = 5
	}
	//인스턴스가 만들어 질 때 무조건 실현된다.
	//변수에 값을 할당하면 괜찮은데 안했으면 init이 필요하다.
	//예외 : optional로 변수를 선언하면 nil값이 들어올 수 있다는 이야기고, init()을 하지않아도 괜찮다.
}

struct ScoreStruct {
	var homeTeamScore: Int
	var awayTeamScore: Int

	func totalScore() -> Int{
		return homeTeamScore + awayTeamScore
	}

	init(){
		homeTeamScore = 2
		awayTeamScore = 4
	}
}
//class와 똑같다.

var ss = Score()
//이 형태가 initialization
//인스턴스 생성
//클래스 내부를 사용할 수 있게 준비한다.

Deinitilization

초기화 해제
deinit{
}
해당되는 클래스가 해제되는 순간에 취하는 액션.

class Score{
	init() {
		print("생성되는 시점에 호출")
	}

	deinit() {
		print("소멸되는 시점에 호출")
	}
}

var myScore: Score? = Score()
//생성되는 시점에 호출

myScore = nil
// 초기화 해체
// 소멸되는 시점에 호출

Reference

인프런 강의

Tags: ,

Categories:

Updated:

Leave a comment