Written on
·
220
3
class Calculator
{
static public int StaticAdd(int a, int b)
{
return a + b;
}
public int Add(int a, int b)
{
return a + b;
}
}
class Program
{
static void Main(string[] args)
{
int num1 = 10;
int num2 = 20;
Calculator calculator = new Calculator();
int result1 = calculator.Add(10, 20);
int result2 = Calculator.StaticAdd(num1, num2);
}
}
하나 궁금증이 생겼는데 new로 Calculator를 만들어서 add를 호출하는것과, static 함수로 add를 호출하는 게 메모리 쪽에서 차이가 있을 것 같아서 질문드립니다.
Knight와는 조금 다른 케이스일 것 같지만, static 함수를 사용하면 calculator 변수를 만들 필요가 없어서 추가적인 메모리를 먹지 않고 Add 함수를 사용할 수 있는 건가요?? 급 궁금해서 질문드립니다.
Answer 1
2
안녕하세요,
말씀주신대로 Calculator 클래스에 특별히 저장하고 있어야 하는 값이 없다면 (최근 연산 결과라거나..)
함수를 static으로 만들어서 Calculator 인스턴스 없이 바로 사용하는 것을 고려할 수 있겠습니다. (Console.Write처럼)
그러면 인스턴스 생성/소멸 비용 및 메모리 측면에서 모두 절약이 되겠죠 !
감사합니다.