컴퓨터/정보처리기사 SW 공학

| 니앙팽이 - 객체지향(OOP) | 2-3 | Static (클래스 멤버)

객체지향

📕 2. 객체지향 개발


📄 3. Static

1). 클래스 변수 & 인스턴스 변수?

클래스 내에서 멤버변수(클래스에 포함된 변수)는 선언된 위치에 따라 2가지로 구분됨.

  1. 클래스 변수 : static variable
  2. 인스턴스 변수 : instance varibale

2). 예시

public class Enemy
{
  static  int mEnemyCount = 0; 클래스 변수
  string      mEnemyName;          인스턴스 변수 

  public Enemy(string _enemyName){ mEnemyCount++; this.mEnemyName = _enemyName;}
}
................................................

static void Main(string[] args)
{
  Enemy 푸에르 = new Enemy("푸에르");
  Enemy 에테르누스 = new Enemy("에테르누스");
  Enemy 방패르누스 = new Enemy("방패르누스");

  > 1. 클래스 변수 사용하기 <
    int x = Enemy.mEnemyCount; // > 3

  > 2. 인스턴스 변수 사용하기 <
    string 적이름 = 푸에르.mEneyName + 에테르누스.mEneyName + 방패르누스.mEneyName;
    Console.WriteLine(적이름); // > 푸에르에테르누스방패르누스
}

3). 정의

  1. 클래스 변수(static variable)

    • Static 키워드를 가진것
    • 클래스 영역에 위치한 변수 중에서 static 키워드를 가지는 변수를
      클래스 변수(static variable)라고 합니다.
    • 오직 클래스를통해서 접근가능합니다
  2. 인스턴스 변수(instance variable)

    • 키워드 없는것 그냥우리가 일반적으로 쓸때
    • 변수 중 static 키워드를 가지지 않는 변수는 인스턴스 변수(instance variable)라고 합니다.
    • 오직 생성된 인스턴스를통해서 접근 가능합니다.

4). Static은 변수말고도 메소드에서도 사용 가능하다.