반응형
공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!! 포스팅 내용이 찾아주신 분들께 도움이 되길 바라며 더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^
|
지난 포스팅에서는 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도 선언할 수 있습니다.
이상으로 접근 제한자에 대해 공부했습니다.
다음 포스팅에서는 클래스 상속에 대해 공부합니다.
반응형
'C#' 카테고리의 다른 글
C#문법-16 : 속성과 static 클래스, 메소드, 필드, 속성 (0) | 2019.04.25 |
---|---|
C#문법-15 : 클래스 상속 (0) | 2019.04.25 |
C#문법-13 : 전처리기와 Indexer 인덱서 (0) | 2019.04.24 |
C#문법-12 : 이벤트 event (0) | 2019.04.24 |
C#문법-11 : Nullable Type, 메소드 파라미터 (0) | 2019.04.24 |