using System;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
}
}
}
String[] args 변수: 메서드 내에서 선언되었으므로 로컬 변수 또는
메서드 파라미터 내에서 선언되었으므로 파라미터 변수라고 함
main() 메서드가 끝나면 args 변수도 제거됨
class VariableType
{
int instanceMemberVariable;
public void method1()
{
int localVariable = 10;
Console.WriteLine(instanceMemberVariable); // 인스턴스 변수 접근 가능
Console.WriteLine(localVariable); // 자신의 메서드에서 선언된 로컬 변수 접근 가능
} // localVariable 변수가 제거되는 지점
public void method2()
{
Console.WriteLine(instanceMemberVariable); // 인스턴스 변수 접근 가능
//Console.WriteLine(localVariable); // 다른 메서드에서 선언된 로컬 변수 접근 불가
}
}
VariableType 클래스의 instanceMemberVariable는 인스턴스 변수(멤버 변수)
인스턴스 생성 시(new) 생성되며, 인스턴스 제거 시 변수도 제거됨
클래스 내의 모든 메서드에서 접근 가능
method1() 메서드의 localVariable은 로컬 변수로 선언된 시점에서 생성되며, method1()메서드가 끝나면 제거됨
method2() 메서드는 instanceMemberVariable에 접근할 수 있지만 method1()에 선언된 localVariable는 접근 불가하다
[전체 코드]
using System;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
VariableType a = new VariableType();
a.method1();
a.method2();
}
}
class VariableType
{
int instanceMemberVariable;
public void method1()
{
int localVariable = 10;
Console.WriteLine(instanceMemberVariable); // 인스턴스 변수 접근 가능
Console.WriteLine(localVariable); // 자신의 메서드에서 선언된 로컬 변수 접근 가능
} // localVariable 변수가 제거되는 지점
public void method2()
{
Console.WriteLine(instanceMemberVariable); // 인스턴스 변수 접근 가능
//Console.WriteLine(localVariable); // 다른 메서드에서 선언된 로컬 변수 접근 불가
}
}
}
[실행 결과]
instanceMemberVariable는 기본 값 0이 할당되어 저장됨
반응형
'C#' 카테고리의 다른 글
C# 메서드 사용(3) - 메서드 오버로딩(Method Overloading) (0) | 2021.02.21 |
---|---|
C# 메서드 사용(2) - 매개변수전달:선언 기본형 변수, 참조형 변수 (0) | 2021.02.17 |
C# 메서드 정의(2) (1) | 2020.11.04 |
C# 메서드의 정의 (1) | 2020.11.01 |
C# break문, continue문 사용하기 (0) | 2020.10.31 |
댓글