DEV/Unity C#

[C#] 액세스 한정자 (Access Modifiers)

ssapo 2019. 5. 12. 11:43
반응형

모든 형식과 형식 멤버에는 사용 중인 어셈블리나 기타 어셈블리의 다른 코드에서 사용될 수 있는지 여부를 제어하는 액세스 가능성 수준이 있다. 다음 액세스 한정자를 사용하여 형식 또는 멤버를 선언할 때 해당 항목의 액세스 가능성을 지정할 수 있음.

 

public
- 동일한 어셈블리의 다른 코드나 해당 어셈블리를 참조하는 다른 어셈블리의 코드에서 형식이나 멤버에 액세스

 

private
- 같은 클래스 또는 구조체의 코드에서만 형식 또는 멤버에 액세스

 

protected
- 같은 클래스 또는 해당 클래스에서 파생된 클래스의 코드에서만 형식 또는 멤버에 액세스


internal
- 동일한 어셈블리의 코드에서는 형식이나 멤버에 액세스할 수 있지만 다른 어셈블리의 코드에서는 액세스 불가능

 

protected internal

- 형식이나 멤버가 선언된 어셈블리의 모든 코드에서 또는 다른 어셈블리의 파생 클래스 내에서 형식 또는 멤버에 액세스

 

private protected 

- 형식이나 멤버를 선언하는 어셈블리, 같은 클래스나 해당 클래스에서 파생된 형식의 코드에서만 형식 또는 멤버에 액세스

 

Q. 액세스 한정자가 지정되지 않은 경우?

A. 

1. 클래스 및 구조체

- internal

 

2. Nested 클래스 및 구조체

- private

 

3. 클래스 및 구조체의 멤버 (변수, 메소드)

- private

 

반응형