Static은 항목을 인스턴스화할 수 없는 C#의 키워드입니다. 즉, static 키워드가 사용된 항목은 인스턴스화할 수 없으며 클래스, 변수, 메서드 및 정적 클래스를 생성하는 생성자에 적용할 수 있습니다. , 정적 변수, 정적 메서드, 정적 생성자 및 정적 멤버. 특정 유형의 개체에 속하지 않는 멤버 선언에 static 키워드를 사용하여 만들 수 있습니다. 오히려 유형 자체에 속합니다.
모든 멤버는 멤버 선언 앞에 static 키워드를 사용하여 static으로 선언할 수 있습니다. 정적 클래스, 정적 변수, 정적 메서드, 정적 생성자를 선언하는 방법을 알아보겠습니다.
정적 키워드를 사용하여 클래스를 정적 클래스로 선언할 수 있습니다. 정적 데이터 멤버, 정적 메서드 및 정적 생성자만 정적 클래스에 포함될 수 있습니다. 정적 클래스의 개체는 만들 수 없습니다. 정적 클래스에서는 상속을 수행할 수 없습니다.
아래 프로그램을 통해 정적 클래스를 선언하고 이해해 보겠습니다.
코드:
using System; //A static class is created using the keyword static static class example { // Creating a string variable and declaring it as static using static keyword public static string demo = "Welcome to C#"; } //Creating a public class public class check { // Calling the static main method static public void Main() { //The static member of the tutorial class which is static is called Console.WriteLine("Understanding static keyword : {0} ", example.demo); } }
위 프로그램의 출력은 아래 스냅샷에 표시됩니다.
출력:
static 키워드를 사용하여 변수를 정적 변수로 선언할 수 있습니다. 변수를 정적으로 선언하고 이를 모든 클래스 객체와 공유하면 변수의 단일 복사본이 생성됩니다. 정적 변수에 액세스하기 위해 클래스 이름을 사용합니다. 정적 변수에 액세스하는 데는 개체가 필요하지 않습니다.
아래 프로그램을 통해 정적 변수를 선언하고 이해해 보겠습니다.
코드:
using System; //A static class is created using the keyword static class check { // Creating a string variable and declaring it as static using static keyword public static string learn = "Python"; } //Creating a public class public class checkvar { // Calling the static main method static public void Main() { //The static member of the check class which is static is called Console.WriteLine("I want to learn : {0} ", check.learn); } }
위 프로그램의 출력은 아래 스냅샷에 표시됩니다.
출력:
정적 키워드를 사용하여 메서드를 정적 메서드로 선언할 수 있습니다. 정적 메서드에 액세스하기 위해 클래스 이름을 사용합니다. 정적 및 비정적 필드 모두 정적 메서드를 사용하여 액세스할 수 있습니다. 정적 필드에 액세스하려면 객체나 클래스 이름이 필요하지 않지만 비정적 필드에 액세스하려면 객체가 필요합니다.
아래 프로그램을 통해 정적 메소드를 선언하고 이해해 보겠습니다.
코드:
using System; //A static class is created using the keyword static class students { // Creating a string variable and declaring it as static using static keyword static public int number = 100; //Creating a method and declaring it as static using static keyword public static void count() { Console.WriteLine("Number of students"+ " learning python is :{0}", number); } } //Creating a public class public class display { // Calling the static main method static public void Main() { //class name is used to access the number of students students.count(); } }
위 프로그램의 출력은 아래 스냅샷에 표시됩니다.
출력:
정적 키워드를 사용하여 생성자를 정적 생성자로 선언할 수 있습니다. 정적 생성자는 생성자의 인스턴스가 실행되기 전에 자동으로 호출되며, 프로그램에서 참조하는 클래스 ID 이전의 클래스에서 한 번만 호출됩니다. 클래스 이름은 생성자 이름과 동일해야 합니다.
아래 프로그램을 통해 정적 생성자를 선언하고 이해해 보겠습니다.
코드:
using System; //A public class is created public class constructor { //A static constructor is defined whose name is same as the name of the class static constructor() { //This statement is displayed as the first line of the output and it is executed only once Console.WriteLine("Understanding Static Constructor"); } // The constructor instance is created public constructor(int a) { Console.WriteLine("constructor instance " + a); } // A public method is defined public string details(string name, string work) { return "Name: " + name + " Work: " + work; } // Calling the public main method public static void Main() { // Invoking all the constructors defined before constructor con = new constructor(1); Console.WriteLine(con.details("Shobha", "Data Scientist")); //Again Invoking all the constructors defined before constructor co = new constructor(2); Console.WriteLine(co.details("Shobha", "Tyson")); } }
위 프로그램의 출력은 아래 스냅샷에 표시됩니다.
출력:
정적 클래스는 비정적 클래스와 유사하지만 정적 클래스의 인스턴스를 만들 수 없습니다. 즉, new 연산자를 사용하여 정적 클래스의 변수나 개체를 만들 수 없으며 정적 클래스의 멤버는 클래스 이름 자체를 사용하여 액세스됩니다. 예를 들어 .NET 프레임워크의 정적 클래스 System.math를 생각해 보세요. 수학 클래스의 인스턴스를 생성할 필요 없이 수학 연산을 수행하는 데 필요한 메소드로 구성됩니다.
정적 클래스, 정적 변수, 정적 메서드 및 정적 생성자를 설명하는 C# 프로그램
코드:
using System; //A public static class is created public static class check { //A public static variable is created public static int height; //A static constructor is created static check() { // Method is called by the constructor height = distance(20); } //A static method is created static int distance(int number) { return Environment.TickCount * number; } } //A public class is created public class Program { public static void Main() { //Accessing the constructor and its object Console.WriteLine("Bird can fly upto: {0}", check.height); } }
위 프로그램의 출력은 아래 스냅샷에 표시됩니다.
출력:
위 내용은 C#의 정적 키워드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!