접근제한자는 클래스나 함수 앞에 붙여서 사용자 입장에서 접근을 제한할 수 있는 기능을 가진 키워드입니다. 종류로는 public, private, protected, internal 이 있는데요. 그렇다면 각각 어떤 의미가 있고, 어떻게 사용되는지 알아보도록 하겠습니다.
public은 공공의라는 뜻으로 모든 곳에서 접근할 수 있는 접근제한자입니다.
Phone 이라는 클래스가 있고, 내부에 number라는 변수가 있습니다. 이런 경우 모든 프로젝트에서 Phone 이라는 클래스를 접근할 수 있고, number라는 변수도 접근이 가능합니다.
private은 은밀한이라는 뜻으로 같은 클래스안에서만 접근할 수 있는 접근제한자입니다.
위에서 작성한 Phone 이라는 클래스에 number 라는 변수가 있었느데요. 이것을 private으로 바꾼 경우 외부에서 number로 접근할 수 없습니다.
이런식으로 외부에서 Phone이라는 클래스를 선언하여도 number에 접근할 수 없게 됩니다. 클래스 내부에서만 사용하고 외부에서는 접근을 못하게 할 경우에는 private을 사용합니다.
protected는 보호된이라는 뜻으로 private과 매우 비슷하지만, 상속 받은 클래스의 경우 접근이 가능한 접근제한자입니다.
Phone 이라는 클래스에 protected 로 접근제한된 number라는 변수가 있습니다. 이 경우 IPhone 이라는 클래스 내부에서는 number를 접근할 수 있지만, 외부에서는 접근이 불가능합니다.
IPhone 이라는 클래스에서는 number를 수정하거나 가져올 수 있지만, 외부에서는 에러가 나는 것을 볼 수 있습니다.
internal은 내부의라는 뜻으로 같은 프로젝트 내부에서는 public 처럼 사용이 가능하지만, 다른 프로젝트에서는 접근할 수 없는 접근자입니다.
접근제한자를 사용하는 것을 습관화하면 좋은데요. 별거 아닌 것 같아보일 수 있지만, 구조가 복잡한 프로그램을 만들고, 여러 사람이 함께 작업을 하게 되면 접근제한자를 적절하게 배치하는 것은 매우 중요합니다. 코드를 봐도 어떤 의도로 만들었는지 어느정도 알 수 있기 때문입니다.
C# 메모리구조, 스택(Stack), 힙(Heap) (0) | 2020.03.25 |
---|---|
C# 프로그래밍 Bitmap 사용방법 (2) | 2020.03.24 |
C# 프로그래밍 - String Format 에 대해서 알아보자 (0) | 2020.03.09 |
C# - Extension Method [확장메서드] (0) | 2020.03.02 |
C# - get enum description (0) | 2020.03.01 |
댓글 영역