C#

C#문법-14 : 접근 제한자 public, interal, protected, private

알통몬_ 2019. 4. 25. 09:03
반응형


공감 및 댓글은 포스팅 하는데

 아주아주 큰 힘이 됩니다!!

포스팅 내용이 찾아주신 분들께 

도움이 되길 바라며

더 깔끔하고 좋은 포스팅을 

만들어 나가겠습니다^^

 

지난 포스팅에서는 C# 전처리기와 Indexer에 대해 공부했습니다.

2019/04/24 - [C#] - C#문법-13 : 전처리기와 Indexer 인덱서

이번 포스팅에서는 접근 제한자에 대해 공부합니다.

using System;

namespace workspace_csharp {

public class AccessModifier {
// 접근 제한자 :
// 외부로부터 타입(class, struct, inteface, delegate etc.)나
// 위 타입들의 멤버들(method, property, event, field)로의 접근을 제한할 때 사용합니다.
// 아래 4가지 타입이 있습니다.
//
// public
// 모든 외부에서 해당 타입으로 접근할 수 있습니다.
// 개별 타입 멤버의 접근 권한은 해당 멤버의 접근 제한자에 따라
// 별도로 제한될 수 있습니다.
// ex) 클래스는 public 이지만 field는 private 일 경우
// 클래스에는 접근 가능하지만 해당 클래스의 필드에는 접근 불가.

// internal
// 동일한 Assembly 내에 있는 다른 타입들이 접근할 수 있습니다.
// * 어셈블리란? ==> 링크 참조 https://songta.tistory.com/8

// protected
// 파생 클래스에서 이 클래스 멤버에 접근할 수 있습니다.

// private
// 동일 클래스와 구조체 내에서만 멤버에 접근 가능합니다.

public static void Main(string[] args) {

}

}

}

접근 제한자에 대한 설명은 위와 같습니다.

접근 제한자는 가장 앞에 붙이면 됩니다.

ex)

public class PublicClass {}
public void Method1() {}
public string str;
public string getName {
get {
return this.str;
}
set {
str = value;
}
}

* 접근 제한자를 사용하는 일반적인 방법.

클래스 내의 필드는 일반적으로 private으로 선언합니다.

메소드는 클래스 외부에서 호출해야 하는 경우만 public

나머지 경우는 대부분 private으로 선언합니다.

물론 internal, protected도 선언할 수 있습니다.


이상으로 접근 제한자에 대해 공부했습니다.

다음 포스팅에서는 클래스 상속에 대해 공부합니다.

반응형