내배캠 과제
은행 계좌 관리 시스템 구축하기
프로퍼티 옵저버 (속성감시자)
- didSet: 프로퍼티를 관찰(observe)하면서 새 값이 저장된 직후에 호출되며 이전 프로퍼티의 값을 oldValue로 제공됩니다.
- willSet: 프로퍼티를 관찰하면서 값이 새 값이 저장되기 직전에 호출되며 새로운 프로퍼티의 값을 newValue로 제공합니다.
var myProperty: Int = 20{
didSet(oldValue){
print(oldValue)
}
willSet(newValue){
print(newValue)
}
}
var name: String = "Unknown" {
willSet {
print("현재 이름 = \(name), 바뀔 이름 = \(newValue)")
}
didSet {
print("현재 이름 = \(name), 바뀌기 전 이름 = \(oldValue)")
}
}
name = "Peter"
// willSet이 먼저 실행
// 현재 이름 = Unknown, 바뀔 이름 = Peter
// 현재 이름 = Peter, 바뀌기 전 이름 = Unknown
- 저장속성 자체는 var로만 선언 가능
- 자료형을 선언하는 것은 일반 변수와 동일
- 저장 속성의 변화시점을 관찰하는 실질적 메서드(타입/인스턴스 둘다 가능은 함)
- willSet 또는 didSet 중에서 한가지만 구현 하면됨
- 변수가 변하면, (무엇인가) 업데이트 하려는 패턴 구현할때 사용
접근 제한자 (접근제어자)
- 다른 소스 파일이나 모듈의 코드에서 코드 일부에 대한 접근을 제한하는 키워드
- [제약이 적음] open < public < internal < fileprivate < private [제약이 많음]
- private(set)으로 프로퍼티를 외부에서 수정 불가능한 읽기 전용 모드를 만들 수 있습니다.
- 접근 제한자를 작성하지 않으면 기본적으로 internal로 판단합니다.
- 상위 요소보다 하위 요소가 더 높은 접근 수준을 가질 수 없습니다.
'내배캠 사전캠프 > 내배캠 사전캠프 TIL' 카테고리의 다른 글
241011 내배캠 사전캠프 TIL (5) | 2024.10.11 |
---|---|
241010 내배캠 사전캠프 TIL (0) | 2024.10.10 |
241009 내배캠 사전캠프 TIL (0) | 2024.10.07 |
241004 내배캠 사전캠프 TIL (0) | 2024.10.04 |
241002 내배캠 사전캠프 TIL (0) | 2024.10.02 |