1. 지역 변수(Local Variable)
정의: 지역 변수는 특정 블록(예: 메서드, 루프, 조건문 등) 내에서 선언되고, 

그 블록 내에서만 사용 가능한 변수입니다. 블록이 끝나면 변수는 메모리에서 해제됩니다.


특징:

선언된 블록 내부에서만 접근할 수 있습니다.
블록이 종료되면 변수는 더 이상 사용할 수 없습니다.
지역 변수는 메모리에서 자동으로 관리되므로, 블록이 끝나면 자동으로 해제됩니다.


예시

지역변수

 

2. 전역 변수(Global Variable)
정의: 전역 변수는 클래스 수준에서 선언된 변수로, 해당 클래스 내의 모든 메서드에서 접근할 수 있습니다. 

C#에서는 보통 필드(Field)라고 불리며, 클래스 인스턴스에 속한 변수입니다.


특징:
클래스의 모든 메서드에서 접근할 수 있습니다.
객체가 살아있는 동안 메모리에 존재합니다.
클래스의 인스턴스에 귀속되므로, 인스턴스별로 다른 값을 가질 수 있습니다. static 키워드를 사용하면 모든 인스턴스에서 동일한 값을 공유할 수 있습니다.

 

예시

전역 변수(필드)

지역 변수와 전역 변수의 차이점 및 사용 시점


스코프(Scope, 범위)
지역 변수: 변수의 사용 범위가 선언된 블록 내로 제한됩니다. 메모리 사용이 효율적이며, 

외부에서 접근할 수 없어 더 안전합니다.
전역 변수: 클래스 전체에서 사용 가능합니다. 객체 간 상태를 공유하거나 메서드 간 데이터를 전달할 때 유용합니다.


수명(Lifetime)
지역 변수: 선언된 블록이 종료되면 변수의 수명도 종료됩니다.
전역 변수: 객체가 살아있는 동안 변수도 메모리에 존재합니다.


사용 시기
지역 변수: 특정 작업에만 필요한 데이터를 저장할 때 사용합니다. 다른 메서드나 블록에서 이 데이터를 사용할 필요가 없을 때 적합합니다.
전역 변수: 여러 메서드에서 공통적으로 접근해야 하는 데이터를 저장할 때 사용합니다. 예를 들어, 클래스의 상태를 유지하거나 여러 메서드가 공유해야 하는 설정 값 등을 저장할 때 유용합니다.


실제 사용 예시

 

이 예제에서 balance는 전역 변수로, BankAccount 클래스의 모든 메서드에서 접근할 수 있습니.

Deposit, Withdraw, PrintBalance 메서드는 모두 balance를 사용하여 계좌의 잔액을 관리합니다.

이와 대조적으로,

각 메서드 내의 매개변수 amount는 지역 변수로, 해당 메서드에서만 사용됩니다.

'C# 기초 배워보기' 카테고리의 다른 글

C# Enum!  (0) 2024.08.12
C# 람다식!  (0) 2024.08.12
C# 재귀함수를 이해해보자!  (0) 2024.08.08
C# 오버로딩, 오버라이딩!  (0) 2024.08.08
C# Function(함수)!  (0) 2024.08.08

+ Recent posts