• 티스토리 홈
  • 프로필사진
    유니얼
  • 방명록
  • 공지사항
  • 태그
  • 블로그 관리
  • 글 작성
유니얼
  • 프로필사진
    유니얼
    • 분류 전체보기 (295)
      • Unity (17)
        • 게임 개발 (5)
      • Unreal (24)
        • 게임 개발 (20)
      • DirectX (36)
      • 코딩테스트 (91)
        • 프로그래머스 (25)
        • 백준 (66)
      • Google Workspace (1)
      • Programing (102)
        • C# (68)
        • C++ (24)
        • JavaScript (10)
      • 게임 서버 프로그래밍 (17)
      • Web (6)
        • 슈퍼코딩 (6)
  • 방문자 수
    • 전체:
    • 오늘:
    • 어제:
  • 최근 댓글
    등록된 댓글이 없습니다.
  • 최근 공지
    등록된 공지가 없습니다.
# Home
# 공지사항
#
# 태그
# 검색결과
# 방명록
  • C# 프로그래밍의 기초 : Static 키워드
    2024년 03월 02일
    • 유니얼
    • 작성자
    • 2024.03.02.:13
    728x90

    static 키워드는 객체 지향 프로그래밍 언어인 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의 올바른 사용은 코드 구조와 디자인에 큰 영향을 미칩니다.

    반응형
    다음글
    다음 글이 없습니다.
    이전글
    이전 글이 없습니다.
    댓글
조회된 결과가 없습니다.
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)
목차
표시할 목차가 없습니다.
    • 안녕하세요
    • 감사해요
    • 잘있어요

    티스토리툴바