본문 바로가기

Mobile/iOS

[iOS] 접근 제한자 간단 정리

반응형


접근 제한자

객체의 접근 범위를 명시적으로 정의하기 위해 제공된다. 이 접근 제한자들은 클래스나 메소드, 프로퍼티 앞에 작성되어 개별 객체와 속성에 대한 접근을 단계별로 허용하거나 차단하는 기능을 수행한다.

1. private

이 접근 제한자로 선언된 클래스와 메소드, 프로퍼티는 같은 클래스 내에서만 접근이 가능합니다.

2. fileprivate (3.0 버전부터 추가)

이 접근 제한자로 선언된 클래스와 메소드, 프로퍼티는 같은 파일 내에서 접근이 가능합니다.

3. internal

이 접근 제한자로 선언된 클래스와 메소드, 프로퍼티는 같은 모듈 또는 프로젝트 내에서 접근이 가능합니다.
접근 제한자를 선언하지 않고 클래스나 메소드, 프로퍼티를 정의하면 컴파일러는 기본적으로 internal 범위를 적용합니다.

4. public

이 접근 제한자로 선언된 클래스와 메소드, 프로퍼티는 모듈 외부에서 접근이 가능하지만, 상속이나 메소드 오버라이드가 허용되지 않으며 가져다 쓸 수만 있습니다.

5. open (3.0 버전부터 추가)

public의 범위를 가지며, 상속이나 메소드 오버라이드까지 모두 허용됩니다.

반응형