포스트

[TIL]2025-07-09_C# 필드/프로퍼티/클래스 문법 다지기

[TIL]2025-07-09_C# 필드/프로퍼티/클래스 문법 다지기

오늘 한 일 요약

  • C# 문법 - 필드
  • C# 문법 - 프로퍼티
  • C# 문법 - 클래스
  • C# 게임 만들기 - 틱택톡 게임

오버로딩/오버라이딩 개념 정리

✅C# 문법 - 필드 (Field)??

  • 클래스 내부에서 데이터를 저장하는 변수
  • 접근 제한자를 통해 외부 접근을 제어할 수 있음
  • 예시:
    1
    2
    3
    4
    
    class Player
    {
        public int hp = 100; // 필드
    }
    

    이렇게 보면 어떻게 활용할지 감이 잘 오지는 않는다. 다만, Player 클래스의 hp라는 데이터 변수를 외부에서 참조하여 Value를 제어할수있다면 게임 개발에 많이 유용하지않을듯싶다.

✅C# 문법 - 프로퍼티 (Property)??

  • 필드에 간접적으로 접근할 수 있도록 하는 멤버
  • get, set으로 데이터 보호 및 검증 가능
  • 캡슐화를 지키면서 내부 로직을 삽입할 수 있음.
  • 예시:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    
    class Player
    {
      private int hp;  
        
      public int HP
      {
          get { return hp; }
          set
          {
              if (value > 0) hp = value;
          }
      }
    }
    

get을 하면 데이터가 1회성으로 꺼내오는건줄알았는데… 그건 아니였네
get : 읽기 전용 | set : 쓰기 전용 현재는 이정도로 이해하고 넘어가야할듯싶다.

✅C# 문법 - 클래스 (Class)??

  • 객체를 만들기 위한 설계도
  • 필드, 메서드, 생성자, 프로퍼티 등을 포함할 수 있음
  • 예시:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
    class Player
    {
      public string name;
      public int hp;
    
      public void Attack()
      {
          Console.WriteLine($"{name}이(가) 공격합니다!");
      }
    }
    

    클래스는 활용하기에 따라 게임 설계의 대부분을 차지할것으로 예상된다. 음… 클래스/배열/조건문 이 내용은 확실하게 알고리즘을 좀더 풀어봐야겠군.

-end-

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.