상세 컨텐츠

본문 제목

지역변수와 전역변수

이론공부/IT 개념정리

by 뽀사장 2024. 4. 1. 14:23

본문

728x90
반응형

 

[지역변수]

- 함수내에서 선언되고 그 함수 안에서만 유효한 변수

- 호출 시 생성되고 실행이 끝나면 소멸된다 즉, 함수의 생명주기와 일치한다

- 지역변수는 변수가 선언된 블록의 범위로 제한되기 때문에 다른 함수나 블록에서 접근할 수 없다

 

[전역변수]

- 함수 밖에서 선언되고 어디서는 접근할 수 있는 변수

- 프로그램이 실행되는 동안 메모리에 계속 상주하고 있다 즉 애플리케이션의 생명주기와 같다

- 모든 함수나 메서드에서 접근 가능하기 때문에 프로젝트 전반에 공유될 수 있다

- 명시적인 함수 호출 없이 실행되고 더 이상 실행할 문이 없을 때 종료됨

 

 

[전역변수의 위험성]

- 전역변수를 사용하면 해당 변수에 의존하는 코드가 여러곳에 분산될 수 있다

- 코드 변경 시 다른 부분에 예상치 못한 영향을 줄 수 있어서 예기치 않은 동작이 발생할 수 있다

- 의도치 않은 값 변경이 발생할 수 있어서 프로그램의 상태를 예측하기 어려워 지면서 디버깅 또한 어려워진다

- 변수의 상태에 따라 테스트 결과가 달라질 수 있어서 테스트 케이스의 독립성을 유지하기 어렵다

- 전역변수 상태를 설정하기 위해 추가적인 설정이 필요할 수 있어서 테스트 작성이 복잡해질 수 있다

- 메로리 리소스를 오랜기간 소비하고 상태를 면경할 수 있는 시간과 기회가 많음

- 중복선언을 허용하므로 변수이름이 중복되어 의도치 않은 재할당이 발생할 수 있다

 

 

728x90
반응형

관련글 더보기