C# 프로그래밍 - 접근제한자

title-gonggo.png

C# 프로그래밍 - 접근제한자

접근제한자는 클래스나 함수 앞에 붙여서 사용자 입장에서 접근을 제한할 수 있는 기능을 가진 키워드입니다. 종류로는 public, private, protected, internal 이 있는데요. 그렇다면 각각 어떤 의미가 있고, 어떻게 사용되는지 알아보도록 하겠습니다. 

 

img.png

 

1. public

public은 공공의라는 뜻으로 모든 곳에서 접근할 수 있는 접근제한자입니다.

 

img.png

 

Phone 이라는 클래스가 있고, 내부에 number라는 변수가 있습니다. 이런 경우 모든 프로젝트에서 Phone 이라는 클래스를 접근할 수 있고, number라는 변수도 접근이 가능합니다. 

2. private

private은 은밀한이라는 뜻으로 같은 클래스안에서만 접근할 수 있는 접근제한자입니다. 

 

img.png

 

위에서 작성한 Phone 이라는 클래스에 number 라는 변수가 있었느데요. 이것을 private으로 바꾼 경우 외부에서 number로 접근할 수 없습니다.

 

img.png

 

이런식으로 외부에서 Phone이라는 클래스를 선언하여도 number에 접근할 수 없게 됩니다. 클래스 내부에서만 사용하고 외부에서는 접근을 못하게 할 경우에는 private을 사용합니다.

3. protected

protected는 보호된이라는 뜻으로 private과 매우 비슷하지만, 상속 받은 클래스의 경우 접근이 가능한 접근제한자입니다.

 

img.png

 

Phone 이라는 클래스에 protected 로 접근제한된 number라는 변수가 있습니다. 이 경우 IPhone 이라는 클래스 내부에서는 number를 접근할 수 있지만, 외부에서는 접근이 불가능합니다.

 

img.png

 

IPhone 이라는 클래스에서는 number를 수정하거나 가져올 수 있지만, 외부에서는 에러가 나는 것을 볼 수 있습니다.

4. internal

internal은 내부의라는 뜻으로 같은 프로젝트 내부에서는 public 처럼 사용이 가능하지만, 다른 프로젝트에서는 접근할 수 없는 접근자입니다.

 

접근제한자를 사용하는 것을 습관화하면 좋은데요. 별거 아닌 것 같아보일 수 있지만, 구조가 복잡한 프로그램을 만들고, 여러 사람이 함께 작업을 하게 되면 접근제한자를 적절하게 배치하는 것은 매우 중요합니다. 코드를 봐도 어떤 의도로 만들었는지 어느정도 알 수 있기 때문입니다. 

0 Comments

최근글


새댓글


Facebook Twitter GooglePlus KakaoStory KakaoTalk NaverBand