-
C# 프로그래밍의 기초 : Static 키워드2024년 03월 02일
- 유니얼
-
작성자
-
2024.03.02.:13
728x90static 키워드는 객체 지향 프로그래밍 언어인 C#에서 중요한 역할을 합니다. 이 키워드는 정적 멤버(속성, 메서드, 필드, 이벤트 등) 또는 정적 클래스를 선언하는 데 사용되며, 객체 인스턴스가 아닌 클래스 자체에 속한 멤버를 정의합니다. static 멤버는 클래스의 모든 인스턴스에서 공유되며, 클래스 이름을 통해 직접 액세스할 수 있습니다.
Static 멤버의 특징
클래스 레벨에서 공유
static 멤버는 해당 클래스의 모든 인스턴스 간에 공유됩니다. 따라서, static 멤버의 값이 변경되면 해당 클래스의 모든 인스턴스에 이 변경 사항이 반영됩니다.
인스턴스 생성 없이 액세스 가능
static 멤버는 인스턴스를 생성하지 않고도 액세스할 수 있습니다. 이는 클래스 이름을 통해 직접 static 멤버에 접근함으로써 가능합니다.
메모리 효율성
static 멤버는 프로그램 실행 중 단 하나만 생성되고 관리되므로, 메모리 사용 측면에서 효율적입니다. 이는 특히 자주 사용되는 유틸리티 함수나 글로벌 상태를 관리할 때 유용합니다.
Static 클래스의 특징
인스턴스화할 수 없음
static 클래스는 인스턴스를 생성할 수 없으며, 오직 static 멤버만을 포함할 수 있습니다. 이는 클래스가 단일 인스턴스만을 필요로 하거나 인스턴스화 없이도 기능을 제공해야 할 때 유용합니다.
유틸리티 및 헬퍼 메서드 제공에 적합
static 클래스는 종종 유틸리티 함수나 헬퍼 메서드를 그룹화하는 데 사용됩니다. 예를 들어, System.Math 클래스는 다양한 수학 연산을 수행하는 static 메서드를 제공합니다.
예제: 정적 메서드를 포함하는 정적 클래스
using System; class Program { /// <summary> /// MathUtility: 정적 메서드 Add를 포함하는 정적 클래스 예제 /// </summary> class MathUtility { /// <summary> /// Add: 두 정수의 합을 반환하는 정적 메서드 /// </summary> /// <param name="a">첫 번째 정수</param> /// <param name="b">두 번째 정수</param> /// <returns>두 정수의 합</returns> public static int Add(int a, int b) { return a + b; } } static void Main(string[] args) { // MathUtility 클래스의 Add 메서드 호출 int result = MathUtility.Add(5, 10); Console.WriteLine(result); // 출력: 15 } }
이 예제에서 MathUtility 클래스는 두 정수의 합을 반환하는 정적 메서드 Add를 포함합니다. 이 메서드는 클래스 인스턴스를 생성하지 않고도 MathUtility.Add(5, 10)과 같이 호출할 수 있습니다.
결론
static 키워드는 클래스 레벨에서 멤버를 관리하고, 인스턴스 생성 없이 액세스할 수 있는 멤버를 제공하는 데 중요한 역할을 합니다. static 멤버와 클래스는 코드의 재사용성과 메모리 효율성을 높이며, 유틸리티 메서드와 글로벌 상태 관리에 특히 유용합니다. C# 프로그래밍에서 static의 올바른 사용은 코드 구조와 디자인에 큰 영향을 미칩니다.
반응형다음글이전글이전 글이 없습니다.댓글