C# 기초
[기초] - C# 접근제한자 : [private, public, protected..]
MuscleDeveloper5683
2024. 5. 18. 17:49
728x90
SMALL
접근제한자란 무엇인가?
C#에서 접근 제한자(access modifier)는 클래스, 메서드, 필드 또는 속성과 같은 멤버의 외부로부터 접근을 제어하는 데 사용된다. 이를 통해 코드의 안전성, 유지보수성, 재사용성을 향상시킬 수 있다.
접근제한자는 클래스, 변수, enum, 함수 앞에 적어주게 되고, 선언된 접근제한자의 영향을 받는다.
접근제한자의 종류
- public: 가장 넓은 범위의 접근 제한자로, 해당 멤버는 어디서든 접근할 수 있다. 다른 어셈블리(Assembly)에서도 접근 가능하다. (아무런 제한을 받지 않고 어느곳에서든 자유롭게 사용 가능하다.)
- private: 가장 제한적인 접근 제한자로, 해당 멤버는 정의된 클래스 내부에서만 접근할 수 있다. 다른 클래스나 외부에서는 접근할 수 없다. (해당 클래스에서만 접근이 가능하다.)
- protected: 해당 멤버는 자신을 정의한 클래스 또는 파생 클래스(상속받은 클래스) 내에서만 접근할 수 있다. 외부에서는 접근할 수 없다.
- internal: 같은 어셈블리(Assembly) 내에서는 어디서든 해당 멤버에 접근할 수 있지만, 다른 어셈블리에서는 접근할 수 없다. (해당 프로젝트에서 Public처럼 사용된다. 즉 자신의 프로젝트에서 내부적으로 사용한다는 뜻이다.)
- protected internal: protected와 internal의 조합으로, 같은 어셈블리 내에서는 어디서든 접근 가능하고, 다른 어셈블리에서는 파생 클래스 내에서만 접근 가능하다.
.NET(C#) 에서 어셈블리란?
.Net 런타임 환경에서 실행할 수 있는 컴파일 된 코드 덩어리.
어셈블리는 일반적으로 하나 이상의 네임스페이스, 클래스, 메서드, 속성 등을 포함하며, 다음과 같은 형식으로 제공된다.
dll 또는 exe 으로 주로 두 가지 유형이 있다.
- .dll (Dynamic Link Library): 재사용 가능한 코드 라이브러리로서 다른 프로그램에서 참조될 수 있다.
- .exe (Executable): 실행 가능한 프로그램 파일로서 독립적으로 실행될 수 있다.
어셈블리는 .NET 프로그램의 빌딩 블록이며, .NET 런타임은 프로그램 실행 시 어셈블리를 로드하고 관리한다.
컴파일을 통해 나온 결과 파일을 C# 에서는 어셈블리(Assembly) 라고 부른다.
dll 이든 exe든 우선 컴파일되서 나온다면 어셈블리이다.
1. Public 접근 제한자
2. Pirvate 접근 제한자
아래와 같이 다른 클래스에서는 접근이 안된다.
3. Protected 접근 제한자
아래와 같이 상속받은 클래스에서는 사용이 가능하다.
4. Internal 접근 제한자
728x90