반응형
static은 프로퍼티나 메서드 앞에 붙여서 사용되며
static으로 선언된 프로퍼티나 메서드는 접근하여 사용할 경우에 인스턴스를 통한 접근이 아닌
struct 및 enum그 자체에 속성으로 접근하여 사용한다
예시
struct BTSFan {
static var favoriteSong = "Butter"
var name: String
var age: Int
}
let fan1 = BTSFan(name: "SOON", age: 25)
let fan2 = BTSFan(name: "KIM", age: 23)
print(fan1.name, fan1.age)
print(fan2.name, fan2.age)
print(BTSFan.favoriteSong) // fan1.favoriteSong 나 fan2.favoriteSong으로는 접근할 수 없음
결과
SOON 25
KIM 23
Butter
위와 같이 "favoriteSong" 프로퍼티에 접근하려면 새로만든 fan1인스턴스가 아닌
BTSFan struct 자체로 접근하여 사용하여야 한다.
Static의 장점
1. 각 인스턴스가 공동으로 갖는 정보를 할당해 사용하는데 유용하며
2. 메모리 관점에서 효율적
3. 객체(인스턴스)를 생성하지 않아 속도에서 이점
Static의 단점
1. 프로그램 종료시까지 어쨋든 계속 메모리에 남아 있다는 점
2. 객체지향적이지 못하다는 점 -> 코드내에서 지속적인 활용이 어렵다는 뜻,,?
반응형
'기타' 카테고리의 다른 글
#3. State (0) | 2022.08.07 |
---|---|
#2. Typealias (0) | 2022.08.06 |
#5. 거제도-통영 나들이-마지막날 (13) | 2021.06.29 |
#4. 거제도-통영 나들이-둘째날(3) (14) | 2021.06.25 |
# 백신 접종 후기 (14) | 2021.06.24 |