예제가 포함된 C# 클래스 및 개체 자습서

⚡ 스마트 요약

C# 클래스와 객체는 애플리케이션에 객체 지향적인 구조를 제공합니다.ping 관련 데이터 속성과 메서드가 하나의 블루프린트 내에 있습니다. 각 객체는 해당 속성에 대한 자체 값을 저장하는 클래스의 인스턴스입니다.

  • 🔸 등급 : 클래스는 데이터 속성과 해당 데이터에 작용하는 메서드를 하나의 재사용 가능한 템플릿으로 캡슐화합니다.
  • 🎯 목적: 객체는 클래스의 속성에 대한 구체적인 값을 보유하는 런타임 인스턴스입니다.
  • 🏗️ 창조: `new` 키워드는 `Tutorial pTutor = new Tutorial()`처럼 객체를 인스턴스화하고 해당 객체에 필요한 메모리를 할당합니다.
  • 🧱 분야 및 방법: 필드는 객체의 상태를 저장하고, SetTutorial 및 GetTutorial과 같은 메서드는 객체의 동작을 정의합니다.
  • 🔐 캡슐화 : public 및 private과 같은 접근 제한자는 코드 외부에서 접근할 수 있는 필드와 메서드를 제어합니다.
  • 🤖 AI 지원: GitHub Copilot은 클래스 정의를 구성하는 골격을 제공하고, ML.NET은 객체 데이터를 머신러닝 모델의 특징으로 사용합니다.

C# 클래스 및 개체

C#은 다음을 기반으로 합니다. C++ 프로그래밍 언어. 따라서 C# 프로그래밍 언어에는 클래스와 개체에 대한 지원이 내장되어 있습니다. 클래스는 실시간 엔터티를 나타내는 데 사용되는 속성과 메서드를 캡슐화한 것에 지나지 않습니다.

예를 들어, 특정 애플리케이션에서 직원의 데이터로 작업하려는 경우입니다.

직원의 속성은 직원의 ID와 이름입니다. 방법에는 직원 데이터의 입력 및 수정이 포함됩니다.

이러한 모든 작업은 C#에서 클래스로 표현될 수 있습니다. 이 장에서는 C#에서 클래스와 객체를 어떻게 더 자세히 다룰 수 있는지 살펴보겠습니다.

클래스와 객체란 무엇입니까?

먼저 수업부터 시작하겠습니다.

이전에 논의한 것처럼 클래스는 다음을 캡슐화합니다. 데이터 속성 데이터 방법.

  • 속성은 클래스가 보유할 데이터를 설명하는 데 사용됩니다.
  • 이러한 방법은 데이터에 수행할 수 있는 작업이 무엇인지 알려줍니다.

클래스와 객체를 더 잘 이해하기 위해 클래스가 어떻게 생겼는지에 대한 아래 예를 살펴보겠습니다.

클래스 이름은 “Tutorial”입니다. 클래스에는 다음과 같은 속성이 있습니다.

  1. 튜토리얼 ID – 튜토리얼을 나타내는 고유 번호를 저장하는 데 사용됩니다.
  2. 튜토리얼 이름 – 튜토리얼의 이름을 문자열로 저장하는 데 사용됩니다.

클래스는 또한 메서드로 구성됩니다. 우리 클래스에는 다음과 같은 메서드가 있습니다.

  1. 튜토리얼 설정 – 이 방법은 Tutorial의 ID와 이름을 설정하는 데 사용됩니다. 예를 들어 .Net에 대한 튜토리얼을 만들고 싶다면 이에 대한 개체를 만들 수 있습니다. 객체의 ID는 1이라고 가정하겠습니다. 두 번째로 튜토리얼 이름으로 ".Net"이라는 이름을 할당합니다. ID 값이 1이고 이름이 ".Net"인 개체의 속성으로 저장됩니다.
  2. 튜토리얼 받기 – 이 메서드는 특정 튜토리얼의 세부 정보를 얻는 데 사용됩니다. 따라서 튜토리얼의 이름을 얻고 싶다면 이 메서드는 문자열 ".Net"을 반환합니다.

C# 클래스 및 개체

다음은 Tutorial 클래스에서 객체가 어떻게 보이는지에 대한 스냅샷입니다. 각각 고유한 TutorialID 및 TutorialName을 가진 3개의 개체가 있습니다.

C# 클래스 및 개체

클래스 및 개체를 만드는 방법

이제 자세히 살펴보겠습니다. 비주얼 스튜디오 클래스를 만듭니다. 이전 장에서 만든 기존 콘솔 애플리케이션을 기반으로 빌드합니다. 현재 애플리케이션에 대한 Visual Studio에서 클래스를 만듭니다.

이 예제를 실행하려면 아래에 언급된 단계를 따르세요.

단계 1) 첫 번째 단계는 기존 애플리케이션 내에서 새 클래스를 만드는 것입니다. 이는 Visual Studio의 도움으로 수행됩니다.

클래스 및 객체 생성

  1. 첫 번째 단계는 솔루션(이 경우 'DemoApplication')을 마우스 오른쪽 버튼으로 클릭하는 것입니다. 그러면 옵션 목록이 포함된 상황에 맞는 메뉴가 나타납니다.
  2. 상황에 맞는 메뉴에서 추가->클래스 옵션을 선택합니다. 그러면 기존 프로젝트에 클래스를 추가할 수 있는 옵션이 제공됩니다.

단계 2) 다음 단계는 클래스 이름을 제공하고 이를 솔루션에 추가하는 것입니다.

클래스 및 객체 생성

  1. 프로젝트 대화 상자에서 먼저 클래스 이름을 제공해야 합니다. 클래스에 Tutorial.cs라는 이름을 제공하겠습니다. 파일 이름은 .cs로 끝나야 적절한 클래스 파일로 처리됩니다.
  2. 추가 버튼을 클릭하면 클래스가 솔루션에 추가됩니다.

위의 단계를 따르면 Visual Studio에서 아래 출력이 표시됩니다.
산출:-

클래스 및 객체 생성

Tutorial.cs라는 클래스가 솔루션에 추가됩니다. 파일을 열면 클래스 파일에 아래 코드가 추가된 것을 확인할 수 있습니다.

클래스 및 객체 생성

Code 설명:-

  1. 첫 번째 부분에는 Visual Studio가 모든 .Net 파일에 추가하는 필수 모듈이 들어 있습니다. 이러한 모듈은 모든 .Net 프로그램이 다음에서 실행되도록 하는 데 항상 필요합니다. Windows 환경을 제공합니다.
  2. 두 번째 부분은 파일에 추가되는 클래스입니다. 우리의 경우 클래스 이름은 'Tutorial'입니다. 솔루션에 추가된 클래스와 함께 지정된 이름입니다.

현재로서는 클래스 파일은 아무것도 하지 않습니다. 다음 주제에서는 클래스를 사용하는 방법에 대한 자세한 내용을 살펴보겠습니다.

필드 및 방법

우리는 이전 주제에서 클래스에서 필드와 메서드가 어떻게 정의되는지 이미 살펴보았습니다.

Tutorial 클래스의 경우 다음과 같은 속성을 가질 수 있습니다.

  1. 튜토리얼 ID - 튜토리얼을 나타내는 고유 번호를 저장하는 데 사용됩니다.
  2. 튜토리얼 이름 – 튜토리얼의 이름을 .

Tutorial 클래스에는 아래에 언급된 메서드도 있을 수 있습니다.

  1. SetTutorial – 이 메서드는 Tutorial의 ID와 이름을 설정하는 데 사용됩니다.
  2. GetTutorial – 이 메서드는 특정 튜토리얼의 세부 정보를 가져오는 데 사용됩니다.

이제 코드에 필드와 메서드를 통합하는 방법을 살펴보겠습니다.

단계 1) 첫 번째 단계는 Tutorial 클래스에 올바른 필드와 메서드가 정의되어 있는지 확인하는 것입니다. 이 단계에서는 Tutorial.cs 파일에 아래 코드를 추가합니다.

필드 및 방법

Code 설명:-

  1. 첫 번째 단계는 TutorialID 및 TutorialName 필드를 클래스 파일에 추가하는 것입니다. TutorialID 필드는 숫자이므로 정수로 정의하고 TutorialName은 문자열로 정의합니다.
  2. 다음으로 SetTutorial 메서드를 정의합니다. 이 메소드는 2개의 매개변수를 허용합니다. 따라서 Program.cs가 SetTutorial 메서드를 호출하는 경우 이러한 매개 변수에 값을 제공해야 합니다. 이 값은 Tutorial 개체의 필드를 설정하는 데 사용됩니다.
    1. pID의 값은 1이 됩니다.
    2. pName의 값은 .Net입니다.
    3. SetTutorial 메서드에서 이러한 값은 TutorialID 및 TutorialName에 전달됩니다.
    4. 이제 TutorialID의 값은 1이고 TutorialName의 값은 ".Net"입니다.
  3. 여기서는 이에 따라 Tutorial 클래스의 필드를 매개변수로 설정합니다. 따라서 TutorialID를 pID로 설정하고 TutorialName을 Pname으로 설정했습니다.
  4. 그런 다음 GetTutorial 메서드를 정의하여 "String" 유형의 값을 반환합니다. 이 메서드는 호출 프로그램에 TutorialName을 반환하는 데 사용됩니다. 마찬가지로 메서드 Int GetTutorial로 튜토리얼 ID를 가져올 수도 있습니다.
  5. 여기서는 TutorialName 필드의 값을 호출 프로그램에 반환합니다.

단계 2) 이제 콘솔 애플리케이션인 Program.cs에 코드를 추가해 보겠습니다. 콘솔 응용 프로그램은 "Tutorial 클래스"의 개체를 생성하고 이에 따라 SetTutorial 및 GetTutorial 메서드를 호출하는 데 사용됩니다.

(주의 사항:- 객체는 주어진 시간에 클래스의 인스턴스입니다. 클래스와 객체의 차이점은 객체에 속성 값이 포함되어 있다는 것입니다.)

필드 및 방법

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
 class Tutorial
 {
  int TutorialID; 
  string TutorialName;
  
  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();
    
   pTutor.SetTutorial(1,".Net");
    
   Console.WriteLine(pTutor.GetTutorial());
    
   Console.ReadKey(); 
  }
 }
}

Code 설명:-

  1. 첫 번째 단계는 Tutorial 클래스에 대한 개체를 만드는 것입니다. 여기서는 'new' 키워드를 사용하여 이 작업이 수행되었음을 표시하세요. 'new' 키워드는 C#의 클래스에서 개체를 만드는 데 사용됩니다. 그런 다음 개체가 pTutor에 할당됩니다. 변수.
  2. 그런 다음 SetTutorial 메서드가 호출됩니다. 1 및 ".Net"의 매개 변수가 SetTutorial 메서드에 전달됩니다. 그런 다음 이는 클래스의 "TutorialID" 및 "TutorialName" 필드를 적절하게 설정하는 데 사용됩니다.
  3. 그런 다음 Tutorial 클래스의 GetTutorial 메서드를 사용하여 TutorialName을 가져옵니다. 그런 다음 Console.WriteLine 메서드를 통해 콘솔에 표시됩니다.

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

출력:

필드 및 방법

출력에서 ".Net" 문자열이 GetTutorial 메서드에 의해 반환되었음을 분명히 알 수 있습니다.

자주 묻는 질문

생성자는 클래스 이름과 일치하는 특별한 메서드로, `new` 키워드를 사용하여 객체를 생성할 때 자동으로 실행되어 해당 객체의 필드를 초기값으로 초기화합니다.

`new` 키워드는 클래스로부터 객체를 생성합니다. 메모리를 할당하고 생성자를 호출한 후 참조를 반환합니다. 예를 들어 `Tutorial pTutor = new Tutorial()`과 같습니다.

클래스는 힙에 저장되는 참조 타입이고, 구조체는 할당 시 복사되는 값 타입입니다. 클래스는 상속을 지원하지만, 구조체는 지원하지 않습니다.

접근 제한자는 멤버의 가시성을 설정합니다. public은 모든 코드에서 멤버를 사용할 수 있도록 하고, private은 같은 클래스 내에서만 사용할 수 있도록 제한하며, protected는 파생 클래스와 공유하도록 합니다.

네. 클래스는 설계도와 같으므로 `new`를 사용하여 여러 객체를 생성할 수 있습니다. 각 객체는 필드의 자체 복사본을 유지합니다.ping 그들의 가치관은 독립적이다.

필드는 클래스 내부에 데이터를 직접 저장합니다. 속성은 필드를 감싸는 형태로, get 및 set 접근자를 제공하여 값의 읽기 또는 변경 방식을 제어합니다.

예. GitHub Copilot은 Visual Studio 내의 주석이나 클래스 이름에서 클래스 정의, 필드, 생성자 및 메서드 본문을 제안합니다. VS Code. Rev각각에 대해 올바른 유형인지 확인하십시오.

ML.NET 모델은 입력 및 출력 데이터를 C# 클래스로 표현합니다. 속성이 특징에 매핑되는 클래스를 정의하고, 레코드를 객체에 로드한 다음, 이러한 객체를 사용하여 모델을 학습시킵니다.

이 게시물을 요약하면 다음과 같습니다.