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)
  • 인기 글

  • 태그

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

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

티스토리툴바