본문 바로가기

C#

C# 접근제한자


1. 접근제한자

클래스, 메소드, 변수, 구조체 등의 외부 접근을 제어하는 접근제한자이다. 사용은 public class Exam {} 과 같이 선언부의 제일 첫번째에 작성한다.
또한 클래스는 모든 접근제한자를 가질 수 있지만, 구조체의 경우 상속이 되지 않으므로 3가지의 접근 제한자만 허용한다.

2. 접근 제한자 디폴트

접근 제한자를 선언하지 않을 경우 다음과 같은 각 유형에 디폴트 접근 제한자를 가지게 된다.
클래스, 구조체, 인터페이스 : internal
클래스의 멤버, 중첩된 유형의 멤버 : private
enum, 구조체 . enum . 인터페이스의 멤버 : public

3. 접근 제한자 사용

public은 모든 외부의 호출에 대해 제한사항이 없다.

Car 클래스의 내부 변수 _carName과 _price를 private으로 변경할 경우 기존에 PrintCar 메소드는 정상이지만 set 메소드가 에러를 발생시킨다. 이유는 private의 경우 동일 클래스내에서만 접근을 허용하기 때문이다.

protected는 상속관계에서 사용이 가능하다.

 

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

C# static / 정적 메소드  (0) 2023.07.10
C# 파생 클래스, 추상 클래스  (0) 2023.07.10
C# 인덱서  (0) 2023.07.07
C# 전처리기  (0) 2023.07.07
C# Delegate, Event  (0) 2023.07.07