정적 변수를 어디에서 어떻게 사용하는지 알아보기 전에 먼저 swift에서 정적 변수란 무엇인가요?
정적 변수
정적 변수는 클래스의 모든 인스턴스 또는 개체 간에 값이 공유되는 변수입니다. 변수를 정적으로 정의하면 객체가 아닌 클래스에 연결됩니다. 정적 변수에 대한 메모리는 클래스 로딩 시간 동안 할당됩니다.
위의 그림을 이해하자. Sample 클래스가 있고 두 개의 객체 s1과 s2가 있다. s1과 s2에는 각각 변수 "a"가 있지만 공통 공유 변수 "b"가 있습니다. 이 "b"는 정적 변수입니다.
이제 정적 변수를 어디에서 어떻게 사용해야 하는지 알아보겠습니다.
변수 선언 앞에 static 키워드를 추가하여 정적 변수를 생성합니다.
static let/var variable name: type(optional) = value static let num1: Int = 1 static var name1 = “Akash”
더 많은 것을 탐색하기 위해 놀이터를 사용할 것입니다.
Xcode → File → Playground를 열고 이름을 "staticvariables"로 지정합니다.
임의의 변수를 let으로 정의하면 값을 수정할 수 없다는 의미이고, 반대로 var로 변수를 정의하면 값을 수정할 수 있음을 의미합니다.
class Student { static let section: String = "A" // static constat static var day: String = "Monday" // static variable var name: String = "Akash" // instance variable var rollNum: Int = 1 // instance variable } let student1 = Student() // Object 1 print(student1.name) // Akash print(student1.rollNum ) // 1 student1.name = "Aman" // Setting ob1 value to Aman print(student1.name) // Aman let student2 = Student() // Object 2 print(student2.name) // Akash print(Student.section) // A print(Student.day) // Monday