IT/C#

[C#_기본] 접근제한자

배당 줍는 다람쥐 2021. 9. 28. 17:48
반응형

접근제한자

  • 메서드, 필드, 클래스의 사용 범위를 지정할 수 있는 접근제한자
  • 필요성
    • 허락받지 않은 존재가 외부에서 접근하면 기능에 이상이 생기거나 잠재적인 오류를 만들 위협이 있기 때문에 외부에 노출할 필요가 없을 때, 접근을 차단할 필요가 있다.

 

종류

  • 총 5가지의 접근제한자가 존재
    • public
    • protected
    • private
    • internal
    • protected internal
  • internal과 protected internal은 외부 어셈블리와 관련된 접근 제한자

 

public

  • 외부에서 얼마든지 접근이 가능하도록 허용하는 접근제한자
  • 다른 어셈블리에서도 접근이 가능

protected

  • 외부에서 접근이 불가능
  • 해당 제한자를 상속한 대상만 접근이 가능

private

  • 선언한 그 영역 안에서만 사용이 가능하다.

 

어셈블리 접근제한자

  • C#을 포함한 .NET 기반 프로그램은 어셈블리란 단위로 실행이 된다.
  • 어셈블리가 독립적으로 기능을 수행하는 한 개의 단위라는 소리

internal

  • 선언된 어셈블리 안에서는 접근이 가능하지만, 다른 어셈블리에서는 접근 자체가 불가능하도록 제한

protected internal

  • 외부 어셈블리에서 접근을 제한하되, 상속한 경우 접근을 허용
  • protected와의 차이는 외부 어셈블리에서도 상속이 가능한지에 대한 여부
반응형

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

[C#_List] Find 검색  (0) 2021.10.01
[C#_기본] 람다식 - Lambda Expression  (0) 2021.10.01
[C#_기본] 델리게이트(Delegate)  (0) 2021.09.30
[C#_클래스] this, static 키워드  (0) 2021.09.28
[C#_클래스] 개념과 생성자, 소멸자  (0) 2021.09.28