Contents
접기
728x90
1. 접근 제한자(Access Modifier)란?
클래스, 메서드, 변수 등이 어디서 접근 가능한지를 정하는 키워드
캡슐화를 통해 외부에 노출되는 범위를 제어하여 코드의 안정성과 보안성을 높이는 역할을 한다.
제한자 | 설명 |
public | 모든 클래스에서 접근 가능 |
private | 해당 클래스 내부에서만 접근 가능 |
protected | 해당 클래스와 상속받은 클래스에서 접근 가능 |
internal | 같은 어셈블리(프로젝트) 내에서만 접근 가능 |
📝 예시
public class Person {
private string name;
public void SetName(string newName) {
name = newName;
}
}
→ name은 외부에서 직접 접근 불가능하지만, SetName() 메서드를 통해 제어됨
2. protected
protected는 외부에서는 접근할 수 없지만, 상속받은 자식 클래스에서는 접근 가능하도록 허용하는 제한자이다.
📌 캡슐화를 유지하면서도 상속 구조에서 유연하게 확장할 수 있게 도와준다.
📝 예시
class Animal {
protected void Breathe() {
Console.WriteLine("숨을 쉰다");
}
}
class Dog : Animal {
public void Action() {
Breathe(); // 상속받았기 때문에 호출 가능
}
}
Dog d = new Dog();
d.Breathe(); // ❌ 컴파일 에러! 외부에서는 접근 불가
3. 반환 타입(Return Type)
함수가 실행을 마치고 돌려주는 값의 자료형을 의미한다.
예: int, string, bool, void(반환 없음)
📝 예시
int Add(int a, int b) {
return a + b; // 반환값은 int
}
string Greet(string name) {
return $"안녕하세요, {name}님!";
}
void SayHello() {
Console.WriteLine("안녕하세요!");
}
📖 정리
✔ 접근 제한자는 클래스나 멤버가 외부에서 어떻게 보이는지를 제어함
✔ public은 외부 접근 허용, private은 내부에서만 사용 가능, protected는 외부에서는 접근할 수 없지만, 상속받은 자식 클래스에서는 접근 가능하도록 허용하는 제한자
✔ 반환 타입은 함수가 어떤 타입의 값을 돌려주는지 나타냄
✔ void는 값을 반환하지 않는 함수에서 사용됨
✔ 코드를 구조적으로 설계할 때 접근 제한자 + 반환 타입은 매우 중요한 요소임
728x90
'C# > 기초' 카테고리의 다른 글
[C#] 객체지향 프로그래밍 (0) | 2025.04.17 |
---|---|
[C#] C#개념 (0) | 2025.04.14 |
SOLID원칙 (0) | 2025.04.13 |