728x90
    
    
  1. 접근 한정자 (Access Modifiers)
C#의 접근 한정자는 클래스, 메소드, 변수 등의 멤버에 대한 접근 범위를 지정합니다.
a. public
- 정의:
 멤버가 동일한 어셈블리의 모든 코드와 다른 어셈블리를 참조하는 코드에서도 접근 가능.
- 예시:
public class Example
{
    public int Value = 10;
    public void Display()
    {
        Console.WriteLine($"Value: {Value}");
    }
}b. private
- 정의:
 멤버가 선언된 클래스 또는 구조체 내부에서만 접근 가능.
- 예시:
class Example
{
    private int Value = 10;
    private void Display()
    {
        Console.WriteLine($"Value: {Value}");
    }
}c. protected
- 정의:
 멤버가 같은 클래스 및 파생된 클래스에서만 접근 가능.
- 예시:
class Base
{
    protected int Value = 10;
}
class Derived : Base
{
    public void ShowValue()
    {
        Console.WriteLine($"Value: {Value}");
    }
}d. internal
- 정의:
 멤버가 동일한 어셈블리 내에서 접근 가능하며, 다른 어셈블리에서는 불가능.
- 예시:
internal class Example
{
    internal int Value = 10;
}e. protected internal
- 정의:
 멤버가 선언된 어셈블리의 모든 코드와 다른 어셈블리의 파생 클래스에서 접근 가능.
- 예시:
public class Base
{
    protected internal int Value = 10;
}f. private internal
- 정의:
 멤버가 선언된 어셈블리 내부의 코드 및 해당 클래스에서 파생된 클래스 내에서만 접근 가능.
- 예시:
class Example
{
    private protected int Value = 10;
}2. 메소드 반환 형식
a. int 반환 형식
- 반환값이 int 타입이어야 함.
- 예시:
public int Add(int a, int b)
{
    return a + b;
}b. string 반환 형식
- 반환값이 string 타입이어야 함.
- 예시:
public string Greet(string name)
{
    return $"Hello, {name}!";
}c. void 반환 형식
- 반환값이 없음을 의미.
- 예시:
public void PrintMessage(string message)
{
    Console.WriteLine(message);
}3. 예제 코드: 다양한 접근 한정자와 반환 형식
public class Example
{
    // public 멤버
    public int PublicValue = 10;
    // private 멤버
    private int PrivateValue = 20;
    // protected 멤버
    protected int ProtectedValue = 30;
    // internal 멤버
    internal int InternalValue = 40;
    // protected internal 멤버
    protected internal int ProtectedInternalValue = 50;
    // private protected 멤버
    private protected int PrivateProtectedValue = 60;
    // 메소드 반환 형식 예제
    public int Add(int a, int b) => a + b;
    public string Greet(string name) => $"Hello, {name}!";
    public void PrintMessage(string message) => Console.WriteLine(message);
}정리
- 접근 한정자:
- public: 모든 코드에서 접근 가능.
- private: 동일 클래스 내에서만 접근 가능.
- protected: 동일 클래스 및 파생 클래스에서 접근 가능.
- internal: 동일 어셈블리에서만 접근 가능.
- protected internal: 어셈블리 내 모든 코드와 다른 어셈블리의 파생 클래스에서 접근 가능.
- private internal: 어셈블리 및 파생 클래스에서만 접근 가능.
 
- 메소드 반환 형식:
- int, string 등의 반환값 타입에 맞는 값을 반환해야 하며, void는 반환값이 없음.
 
728x90
    
    
  '개발 언어 & 프레임워크 > C# 프로그래밍 마스터하기' 카테고리의 다른 글
| 데이터 형식 변환: 정수, 부동소수점, 문자와 숫자의 변환 이해하기 (0) | 2024.12.14 | 
|---|---|
| 메소드 완벽 가이드: 선언부터 오버로딩, 로컬 함수까지 (0) | 2024.12.13 | 
| 클래스: 객체 지향 프로그래밍의 핵심 (4) | 2024.12.13 | 
| 객체와 다형성: 클래스, 구조체, 확장 메소드, 튜플까지 (2) | 2024.12.13 | 
| 분기문, 반복문, 점프문 완벽 정리 (0) | 2024.12.13 |