본문 바로가기

프로그래밍&IT/C#

C# 접근 제한자 / 접근자 관련 (private, public, protected ...)



OOP 프로그래밍을 하면서 기본적으로 class 등 여러가지를 배우게 되는데

그중 하나인 접근제한자를 정리해봤습니다.


접근 제한자 설명

public

클래스 내, 외부와 파생 클래스에서도 클래스 멤버에 접근 가능

private

private를 포함한 클래스 내에서만 접근 가능. 파생 클래스에서도 접근할 수 없다.
OOP의 캡슐화때문인듯

protected

기본 클래스와 파생 클래스에서만 접근 가능.
private 와 public의 중간이라 보면 될려나?

internal

동일 어셈블리 내에서 접근 가능

protected internal

동일 프로그램 내에서 혹은 파생 클래스에서 클래스 멤버 이용가능

접근 제한자 클래스 내부 외부 클래스 파생 클래스 프로젝트

public

O

O

O

O

private

O

 

 

 

protected

O

 

O

 

internal

O

O

O

 

protected
internal

O

-

O

 


- : 사용한느 클래스가 해당 어셈블리 안에 있을 때만 접근 가능


구성 요소 기본 접근 제한자 사용 가능한 접근 제한자

class

private

public, private, protected, internal, protected internal

struct

private

public, private, internal

interface

public

public

enum

public

public


아직도 배워야 할게 많습니다...