static을 주는 것과 안 주는 전역 변수에는 중요한 차이가 있습니다.
1. static 전역 변수
- 파일(translation unit) 내부에서만 접근 가능합니다.
 - 다른 소스 파일에서 
extern으로 참조할 수 없습니다. - 링크 시 심볼 충돌이 발생하지 않습니다.
 - 캡슐화 효과가 있어, 해당 파일 내부에서만 사용하는 전역 변수에 적합합니다.
 
예시:
static int counter = 0; // 이 파일에서만 사용 가능
2. static이 없는 전역 변수
- 프로그램 전체(모든 소스 파일)에서 접근 가능합니다.
 - 다른 파일에서 
extern으로 선언해서 사용할 수 있습니다. - 여러 파일에서 같은 이름의 전역 변수가 있으면 링커 에러가 발생할 수 있습니다.
 
예시:
int counter = 0; // 다른 파일에서 extern int counter;로 접근 가능
3. 정리
- static: 파일 내부 전용(외부 접근 불가, 캡슐화)
 - static 없음: 프로젝트 전체에서 접근 가능(외부 접근 허용)
 
권장:
- 외부에서 접근할 필요 없는 전역 변수는 항상 
static을 붙여서 파일 내부로 한정하는 것이 좋습니다. - 외부에서 접근해야 한다면 
extern과 함께 사용하세요. 
요약:static을 붙이면 파일 내부 전용 전역 변수가 됩니다.
안 붙이면 프로그램 전체에서 접근 가능한 전역 변수가 됩니다.
				