프로그램 예제가 포함된 C#의 액세스 한정자(지정자)

C#의 액세스 수정자(지정자)란 무엇입니까?

액세스 한정자 또는 C#의 액세스 지정자는 클래스 속성이나 메서드의 가시성을 정의하는 데 사용되는 키워드입니다. 다른 프로그램이 클래스의 속성이나 메서드를 보는 것을 원하지 않을 때 사용됩니다. 액세스 한정자는 다른 프로그램이 클래스의 속성이나 메서드를 볼 수 없도록 액세스를 제한합니다.

C#에는 6가지 유형의 액세스 한정자가 있습니다.

  • 프라이빗 투어
  • 공공 영역
  • 보호
  • 내부의
  • 내부 보호
  • 개인 보호

아래 설명과 같이 프로그램 예제를 통해 C#의 주요 접근 한정자에 대해 알아 보겠습니다.

C#의 개인 액세스 한정자

Private 액세스 한정자가 속성이나 메서드에 연결되면 해당 멤버는 외부 프로그램에서 액세스할 수 없음을 의미합니다.

비공개 액세스 수정자의 예

예를 들어 개인 액세스 수정자를 사용할 때 어떤 일이 발생하는지 살펴보겠습니다.

Tutorial.cs 파일의 현재 코드를 수정해 보겠습니다. SetTutorial 메서드에서 public 키워드를 private으로 변경해 보겠습니다.

비공개 액세스 수정자

이제 Program.cs 파일로 전환해 보겠습니다. SetTutorial 메서드 아래에 빨간색 구불구불한 선이 있음을 알 수 있습니다.

이제 우리는 Tutorial 클래스에서 SetTutorial 메서드를 private으로 선언했기 때문에 Visual Studio는 이를 감지했습니다. 이 메서드는 이제 Program.cs 파일에서 작동하지 않을 것이라고 강조하여 사용자에게 알렸습니다.

비공개 액세스 수정자

C# 공개 액세스 한정자

Public 액세스 한정자가 속성이나 메서드에 연결되면 해당 멤버는 모든 외부 프로그램에서 액세스할 수 있음을 의미합니다. 우리는 이전 예에서 이것을 이미 보았습니다.

공개 액세스 수정자의 예

C# 공개 액세스 한정자

Tutorial 클래스에서 메소드를 공개로 정의했으므로 Program.cs 파일에서 액세스할 수 있습니다.

C#의 보호된 액세스 한정자

Protected 액세스 한정자를 속성이나 메서드에 연결하면 해당 멤버에 대해서만 액세스할 수 있음을 의미합니다. 상속된 클래스 현재에서 수업. 이에 대해서는 상속 클래스에서 자세히 설명하겠습니다.

C# 내부 액세스 한정자

내부 액세스 한정자가 속성이나 메서드에 연결되면 해당 멤버는 내부 프로그램에서만 액세스할 수 있고 외부 프로그램에서는 액세스할 수 없습니다.

C# 생성자

C# 생성자는 해당 객체가 생성될 때 클래스 필드의 값을 초기화하는 데 사용됩니다. 생성자는 클래스의 이름과 동일한 이름을 갖는 메소드입니다. 생성자가 클래스에 정의된 경우 객체가 생성될 때 호출되는 첫 번째 메서드를 제공합니다. Employee라는 클래스가 있다고 가정해 보겠습니다. 생성자 메서드의 이름도 Employee()로 지정됩니다.

생성자 메서드에 대해 주의해야 할 핵심 사항은 다음과 같습니다.

  1. 생성자에 대한 C# 기본 액세스 한정자를 공개로 설정해야 합니다.
  2. 생성자 메서드에는 반환 형식이 없어야 합니다.

C# 생성자의 예

이제 생성자 사용자를 코드에 통합하는 방법을 살펴보겠습니다. 객체가 생성될 때 생성자를 사용하여 TutorialID 및 TutorialName 필드를 일부 기본값으로 초기화합니다.

단계 1) 첫 번째 단계는 Tutorial 클래스의 생성자를 만드는 것입니다. 이 단계에서는 Tutorial.cs 파일에 아래 코드를 추가합니다.

C# 생성자

코드 설명:-

  1. 먼저 클래스 이름과 동일한 이름을 가진 새 메서드를 추가합니다. 클래스와 이름이 동일하기 때문에 C#에서는 이를 생성자 메서드로 처리합니다. 이제 호출 메서드가 이 클래스의 객체를 생성할 때마다 이 메서드가 기본적으로 호출됩니다.
  2. Tutorial 생성자에서는 TutorialID 값을 0으로, TutorialName 값을 "Default"로 설정합니다. 따라서 객체가 생성될 때마다 이러한 필드는 항상 이러한 기본값을 갖습니다.

이제 Program.cs 파일로 전환하고 SetTutorial 메서드를 호출하는 줄을 제거하겠습니다. 이는 생성자가 어떻게 작동하는지 확인하고 싶기 때문입니다.

C# 생성자

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
 class Tutorial
 {
  public int TutorialID; 
  public string TutorialName;
  
  public Tutorial()
  {
   TutorialID=0;
   TutorialName="Default";
  }
  public void SetTutorial(int pID,string pName) 
  {
   TutorialID=pID;
   TutorialName=pName;
  }
  public String GetTutorial()
  {
   return TutorialName;
  }
  
  static void Main(string[] args) 
  {
   Tutorial pTutor=new Tutorial();
    
   Console.WriteLine(pTutor.GetTutorial());
    
   Console.ReadKey(); 
  }
 }
}

코드 설명:-

  1. 첫 번째 단계는 Tutorial 클래스에 대한 개체를 만드는 것입니다. 이는 'new' 키워드를 통해 수행됩니다.
  2. Tutorial 클래스의 GetTutorial 메서드를 사용하여 TutorialName을 가져옵니다. 그런 다음 Console.WriteLine 메서드를 통해 콘솔에 표시됩니다.

위 코드를 올바르게 입력하여 프로그램을 실행하면 다음과 같은 출력이 표시됩니다.

출력:

C# 생성자

출력에서 생성자가 실제로 호출되었으며 TutorialName의 값이 "Default"로 설정되었음을 확인할 수 있습니다.

참고 : 여기서 "default" 값은 생성자에서 가져옵니다.

요약

  • C# 액세스 한정자 또는 액세스 지정자는 클래스 속성 또는 메서드의 가시성을 정의하는 데 사용됩니다.
  • Private 액세스 한정자가 속성이나 메서드에 연결되면 해당 멤버는 외부 프로그램에서 액세스할 수 없음을 의미합니다.
  • Public 액세스 한정자가 속성이나 메서드에 연결되면 해당 멤버는 모든 외부 프로그램에서 액세스할 수 있음을 의미합니다.
  • Protected 액세스 한정자를 속성이나 메서드에 연결하면 현재 클래스에서 상속된 클래스에서만 해당 멤버에 액세스할 수 있음을 의미합니다.
  • 내부 액세스 한정자가 속성이나 메서드에 연결되면 해당 멤버는 내부 프로그램에서만 액세스할 수 있고 외부 프로그램에서는 액세스할 수 없습니다.
  • C# 생성자는 해당 개체가 생성될 때 클래스 필드의 값을 초기화하는 데 사용됩니다.