swift

[swift] public, private, private(set), fileprivate

모리스🙂 2025. 8. 25. 11:08

안녕하세요. 모리스입니다.😀
이번 노트는 swift의 접근제어자인 public, private, private(set), fileprivate의 차이에 대해서 알아보려합니다.


  • publicpublic은 우리가 사용하는 가장 일반적인 접근제어자에요.
    public으로 선언한 경우 classstruct(구조체) 밖에서도 값에 접근 및 수정이 가능해요.
    우리가 일반적으로 선언하는 상수,변수는 앞에 public 키워드가 생략된 것이에요.
    예제를 보면 School 구조체에 public으로 선언된 grade 변수는 구조체 외부에서 접근 및 수정이 가능해요.

  • privateprivate은 클래스 또는 구조체 블럭 내에서만 접근 및 수정이 가능해요.
    예제를 보면 School 클래스 내부의 classRoom 함수에서는 접근이 가능하나, 클래스 외부에서는 접근, 수정이 불가능해요.

  • private(set)private(set)private개념에서 클래스나 구조체 외부에서 값의 접근을 허용해요. 단, 값의 접근만 허용될 뿐 수정을 불가합니다.
    예제를 보면 School 클래스 블럭 내의 동작은 private과 동일하나 School 클래스 외부에서 값의 접근, 즉 print() 는 가능하나 값을 수정하는 것은 불가능해요.

  • fileprivatefileprivate는 같은 파일 내에서만 접근및 수정이 가능한 접근제어자에요. 다른 파일에서 접근은 불가능합니다.

'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