C# 6.0 정적 멤버 직접 사용

2023. 11. 9. 10:24·C#
반응형

C# 6.0에서는 정적 멤버를 클래스명 없이 직접 사용할 수 있는 기능이 추가되었습니다. 이 기능은 using static 키워드를 사용하여 구현됩니다.

 

예제1

using static 키워드를 사용하면, 해당 파일 내에서는 지정된 클래스의 모든 정적 멤버를 클래스명 없이 사용할 수 있습니다. 예를 들어, 다음과 같이 코드를 작성하면 됩니다.

using static System.Console;

namespace CS6
{
    class Program
    {
        static void Main(string[] args)
        {
            // Console. 생략 가능
            WriteLine("csharpstudy.com");

            // Math. 생략 가능
            int x = Random();
            float y = Sqrt(100);

            // DateTime. 생략 가능
            DateTime now = Now();
        }
    }
}

이 코드에서는 using static 키워드를 사용하여 System.Console, System.Math, System.DateTime 클래스의 모든 정적 멤버를 클래

스명 없이 사용할 수 있습니다. 따라서 WriteLine(), Random(), Sqrt(), Now() 메서드를 호출할 때 클래스명을 생략할 수 있습니다.

 

using static 키워드를 사용하면 코드를 보다 간결하고 직관적으로 만들 수 있습니다. 특히, 같은 클래스의 여러 정적 멤버를 사용하는 경우에는 using static 키워드를 사용하면 코드가 훨씬 더 깔끔해집니다.

 

예제2

다음은 using static 키워드를 사용하여 게임에서 사용할 수 있는 기능을 구현한 예제입니다.

using static System.Random;
using static System.Console;

namespace Game
{
    class Program
    {
        static void Main(string[] args)
        {
            // 플레이어의 이름을 입력받습니다.
            string name = Console.ReadLine();

            // 플레이어의 HP를 100으로 설정합니다.
            int hp = 100;

            // 게임을 시작합니다.
            while (true) {
                // 몬스터를 생성합니다.
                int monsterHp = Random(100, 200);

                // 몬스터와 플레이어가 공격을 주고받습니다.
                while (true) {
                    // 플레이어가 공격합니다.
                    int damage = Random(10, 20);
                    monsterHp -= damage;

                    // 몬스터가 죽었다면 게임을 종료합니다.
                    if (monsterHp <= 0) {
                        break;
                    }

                    // 몬스터가 공격합니다.
                    damage = Random(10, 20);
                    hp -= damage;

                    // 플레이어가 죽었다면 게임을 종료합니다.
                    if (hp <= 0) {
                        break;
                    }
                }

                // 게임의 상태를 출력합니다.
                WriteLine($"{name}의 HP: {hp}");
                WriteLine($"몬스터의 HP: {monsterHp}");
            }
        }
    }
}

이 코드에서는 using static 키워드를 사용하여 Random 클래스의 Random() 메서드와 Console 클래스의 WriteLine() 메서드를 클래스명 없이 사용할 수 있습니다. 따라서 Random() 메서드를 호출할 때 Random.Random() 대신 Random()을 사용할 수 있고, WriteLine() 메서드를 호출할 때 Console.WriteLine() 대신 WriteLine()을 사용할 수 있습니다.

 

이 예제는 단순한 예제이지만, using static 키워드를 사용하여 코드를 보다 간결하고 직관적으로 만들 수 있는 방법을 보여줍니다.

 

마무리

C# 6.0의 using static 키워드는 정적 멤버를 보다 간결하고 직관적으로 사용할 수 있는 유용한 기능입니다. 개발자는 이 기능을 사용하여 코드의 가독성과 유지보수성을 향상시킬 수 있습니다.

저작자표시 비영리 변경금지 (새창열림)

'C#' 카테고리의 다른 글

C# Linked List  (0) 2023.12.02
C# 11.0의 required modifier  (0) 2023.11.10
C# 6.0의 catch/finally 블럭에서 await 사용  (0) 2023.11.08
Microsoft.CodeAnalysis.LanguageServer client: couldn't create connection to server.  (1) 2023.10.27
C#의 정적 타입 정보 연산자  (0) 2023.10.26
'C#' 카테고리의 다른 글
  • C# Linked List
  • C# 11.0의 required modifier
  • C# 6.0의 catch/finally 블럭에서 await 사용
  • Microsoft.CodeAnalysis.LanguageServer client: couldn't create connection to server.
코샵
코샵
나의 코딩 일기장
    반응형
  • 코샵
    끄적끄적 코딩 공방
    코샵
    • 분류 전체보기 (725)
      • 스마트팜 (0)
      • 상품 추천 (223)
      • MongoDB (4)
      • 하드웨어 (17)
      • 일기장 (4)
      • 파이썬 (130)
        • Basic (41)
        • OpenCV (8)
        • Pandas (15)
        • PyQT (3)
        • SBC(Single Board Computer) (1)
        • 크롤링 (14)
        • Fast API (29)
        • Package (6)
      • Unity (138)
        • Tip (41)
        • Project (1)
        • Design Pattern (8)
        • Firebase (6)
        • Asset (2)
      • Linux (4)
      • C# (97)
        • Algorithm (11)
        • Window (7)
      • TypeScript (51)
        • CSS (10)
      • Git (11)
      • SQL (5)
      • Flutter (10)
        • Tip (1)
      • System (1)
      • BaekJoon (6)
      • Portfolio (2)
      • MacOS (1)
      • 유틸리티 (1)
      • 서비스 (6)
      • 자동화 (3)
      • Hobby (10)
        • 물생활 (10)
        • 식집사 (0)
  • 인기 글

  • 태그

    devlife
    rtsp
    카페24리뷰이관
    쇼핑몰리뷰
    셀레니움
    appdevelopment
    긴유통기한우유
    카페24리뷰
    리뷰관리
    리스트
    Python
    ipcamera
    codingcommunity
    믈레코비타멸균우유
    programming101
    programmerlife
    스크립트 실행 순서
    상품 리뷰 크롤링
    cv2
    유니티
    learntocode
    라떼우유
    리뷰이관
    스크립트 실행
    codingtips
    list
    unity
    스마트스토어리뷰
    C#
    파이썬
  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
코샵
C# 6.0 정적 멤버 직접 사용
상단으로

티스토리툴바