C#/기초

[C#] 접근 제한자와 반환 타입

도도돋치 2025. 4. 17. 14:53
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