안녕하세요. 모리스입니다.😀
이번 노트는 swift의 접근제어자인 public, private, private(set), fileprivate의 차이에 대해서 알아보려합니다.
- public
public은 우리가 사용하는 가장 일반적인 접근제어자에요.
public으로 선언한 경우class나struct(구조체)밖에서도 값에접근 및 수정이 가능해요.
우리가 일반적으로 선언하는 상수,변수는 앞에 public 키워드가 생략된 것이에요.
예제를 보면 School 구조체에 public으로 선언된 grade 변수는 구조체 외부에서 접근 및 수정이 가능해요.
- private
private은 클래스 또는 구조체 블럭 내에서만 접근 및 수정이 가능해요.
예제를 보면 School 클래스 내부의 classRoom 함수에서는 접근이 가능하나, 클래스 외부에서는 접근, 수정이 불가능해요.
- private(set)
private(set)은private개념에서 클래스나 구조체 외부에서 값의 접근을 허용해요. 단, 값의 접근만 허용될 뿐 수정을 불가합니다.
예제를 보면 School 클래스 블럭 내의 동작은 private과 동일하나 School 클래스 외부에서 값의 접근, 즉 print() 는 가능하나 값을 수정하는 것은 불가능해요.
- fileprivate
fileprivate는 같은 파일 내에서만 접근및 수정이 가능한 접근제어자에요. 다른 파일에서 접근은 불가능합니다.
'swift' 카테고리의 다른 글
| [Swift] NotificationCenter (2) | 2025.08.26 |
|---|---|
| [swift] abs와 magnitude 차이점 (1) | 2025.08.26 |
| [swift]- switch case문 multiple values 사용하기 (2) | 2025.08.26 |
| [swift] Codable - CodingKey (0) | 2025.08.26 |