티스토리 뷰

C#

C# 기초문법 정리(3) 액세스 한정자

애드팍 2022. 1. 21. 22:17
728x90

C# 10.0 을 기준으로 작성되었습니다.

 

(2) 에서 계속 되는 설명으로, 

우리가 프로젝트를 새로 만들게 되면 가장 먼저 접하게 되는 것 중에 하나가 액세스 한정자로 다음과 같은

4가지 액세스 한정자가 존재합니다.

  • public
  • protected
  • internal
  • private

 

액세스 한정자를 이용해 다음 6가지 수준의 접근 수준을 설정할 수 있습니다.

  • public: 액세스가 제한되지 않습니다.
  • protected: 액세스가 포함하는 클래스 또는 포함하는 클래스에서 파생된 형식으로 제한됩니다.
  • internal: 액세스가 현재 어셈블리로 제한됩니다.
  • protected internal: 액세스가 현재 어셈블리 또는 포함하는 클래스에서 파생된 형식으로 제한됩니다.
  • private: 액세스가 포함하는 형식으로 제한됩니다.
  • private protected: 액세스가 포함하는 클래스 또는 현재 어셈블리 내의 포함하는 클래스에서 파생된 형식으로 제한됩니다.

 

위의 액세스 한정자는 다음 그룹에서 사용이 되게 됩니다.

 

그룹 설정하지 않은 경우 기본 설정되는 수준 설정 가능한 수준
enum public None
class private public
protected
internal
private
protected internal
private protected
interface public public
protected
internal
private*
protected internal
private protected
struct private public
internal
private

말 그대로 설정하지 않으면 위의 그룹들의 기본 액세스는 표와 같이 설정되게 되므로,

생략되어 있는 경우 저렇게 되어 있다고 알면 됩니다.

 

체크 포인트

선언에서 형식을 지정하는 경우 파생되는 액세스의 수준은 상위 수준만큼의 액세스 상태가 되어야 합니다.

 

예시

class BaseClass {...}

public class MyClass: BaseClass {...} // Error

 

class 의 기본 액세스 수준은 pravite 이므로 public 은 되거나 public 이 pravite 로 변경되어야 합니다.

 

 

 

728x90

'C#' 카테고리의 다른 글

C# 기초문법 정리(5) 반복문  (0) 2022.01.27
C# 기초문법 정리(5) 속성  (0) 2022.01.23
C# 기초문법 정리(4) 필드, 상수  (0) 2022.01.22
C# 기초문법 정리(2)  (0) 2022.01.20
C# 기초문법 정리(1)  (0) 2022.01.20
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함