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

모리스·2023년 11월 1일
0

swift

목록 보기
1/4
post-thumbnail

이번 노트는 swift의 접근제어자인 public, private, private(set), fileprivate의 차이에 대해서 알아보려한다.


  • public

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

  • private

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

  • private(set)

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

  • fileprivate

    fileprivate는 같은 파일 내에서만 접근및 수정이 가능한 접근제어자이다. 다른 파일에서 접근은 불가능하다.
profile
모바일 앱 개발 노트 :)

0개의 댓글