[C#] 3. 접근제한자

Connected Brain·2025년 4월 24일

면접 질문 대비

목록 보기
3/60

접근제한자란 무엇이며, 각각 어떤 차이가 있는지 비교해서 설명해주세요.

한 줄 요약

접근제한자 : 클래스 요소에 대한 접근 권한을 설정하는 문법 요소.
캡슐화 : 데이터 필드와 그를 사용하는 메서드를 묶어 관리하는 것. 외부에서는 메서드를 통해 해당 데이터에 접근. 외부에서의 의도하지 않은 변경으로부터 보호

접근제한자

  • 클래스 내부에 변수 또는 함수를 선언할 때, 클래스의 내부 또는 외부에서 해당 변수에 접근하여 값을 확인하거나, 변경 또는 호출 및 참조를 가능하게 할지 여부를 표시하는 문법 요소
  • 그러나 클래스, 구조체, 인터페이스, 열거형에도 사용할 수 있음
  • 외부에서 내부의 요소에 접근하는 것을 막아 안정성과 유지보수성을 높일 수 있음

1. Private

  • 접근 제한자에서 가장 제한적인 접근 제한자
  • 해당 변수가 선언된 클래스 내에서만 접근, 수정이 가능하도록 함
  • 접근 제한자를 사용하지 않았을 때 기본으로 사용됨

2. Public

  • 접근 제한자에서 가장 제한이 없는 접근 제한자
  • 외부 클래스에서 값을 확인하고 수정하는 것 그리고 호출하고 참조하는 것 모두 가능함

3. Protected

  • 자기 자신과 해당 클래스를 상속받는 자식 클래스에서는 접근이 가능하지만, 그렇지 않은 클래스에서는 접근할 수 없도록 하는 접근 제한자

4. Internal

  • 해당 어셈블리 내부에 있는 요소에 접근하는 것을 가능하게 함

0개의 댓글