프로그래머/코딩(C#)개념정리

C#_클래스의상속_다양한 수식

FourthWay 2023. 4. 11. 02:13
728x90
반응형

sealed

상속되지 않도록 할 클래스는 sealed(실드라고 읽는다.)를 사용하여 봉인한다. 또한 추상클래스에는 사용할 수 없다.

 

sealed calss A

{...

}

 

class B : A  //A는 봉인되어 있으므로 오류가 난다.

{...

}

 

 

static

static은 필드나 메소드에 붙이는 수식자이다. 같은 클래스로부터 생성한 객체에서 static을 붙인 필드는 값이 같아진다.

static은 정적인 이라는 의미이다.

 

 

어느 객체이든 같은 동작을 하는 메소드에는 static을 붙여 두는 것이 좋다. static을 붙인 멤버는 다음과 같은 성질을 가지고 있다.

 

 

static을 붙인 멤버는 객체를 생성하지 않아도 사용할 수 있다. 이 때 다른 객체에서 참조하려면 객체명이 아니라 클래스명을 지정한다.  B.get();  B는 클래스명, get은 멤버명이다.

using System;

class Purse
{
 public static int money = 0;
 
 public void printMoney(int In, int Out)
 {
  money = money + In - Out;
  if(money < 0)
   Console.WriteLine((-1*money) + "원 부족합니다.");
  else
   Console.WriteLine("잔액은 " + money + "원입니다.");
 }
}

class Shopping
{
 public static void Main()
 {
  Purse store1 = new Purse();
  Purse store1 = new Purse();
  store1.printMoney(1000, 100);
  store2.printMoney(0, 250);
  store1.printMoney(0, 800);
 }
}


//출력
잔액은 900원입니다.
잔액은 650원입니다.
150원 부족합니다.
728x90
반응형