전역변수 문제점, 나쁜 객체지향 코드 (유지보수 망침) 전역변수의 문제점 비지역성, 비국지성(Non-Locality) 각각의 오브젝트들은 구현 범위가 좁을수록 이용하기 쉽습니다. 전역변수 문제점은 이와 정반대라 이해하기도 힘들고 사용하기도 힘듭니다. 접근 제어, 제약 조건 확인(No Access Control or Constraint Checking) 전역변수 문제점은 프로그램 내부의 어느 곳에서나 설정할 수 있습니다(Get, Set). 그렇지만 그 모든 설정을 기억하기도 힘들뿐더러 워낙에 많은 곳에서 다루다 보니 잘못된 접근 방법을 사용하여 에러를 유발합니다. 결과적으론 가독성과 신뢰성이 떨어지며, OOP에서 중요한 요소 중 하나인 은폐성을 갖추지 못합니다. 내포된 커플링(Implicit couplin..
C++ 전역변수 선언 예제와 안 쓰는 방법 (global variable) 기본적으로, 전역변수는 일단 안 쓰는 게 가장 좋긴 합니다. 그렇지만 사용할만한 상황이 존재합니다.... 그렇지만 객체지향에는 "전역"이란 개념 자체가 없습니다. 가령, extern int nTemp;라고 선언을 한다면, nTemp가 object file 어딘가에 선언된 전역변수를 사용하겠다는 것이죠. 그리고, stdafx.cpp와 stdafx.h 파일에 전역변수를 선언하는 경우가 있는데, stdafx는 변동성이 거의 없는 것, 한번 선언하면 변하지 않는 형태의 것들만 골라서 넣어놔야 합니다. 때에 따라서 전역변수가 그러할 순 있으나, 변수가 거의 변하지 않는다면 굳이 변수일 이유가 없기도 하죠. 그래서 stdafx.cpp와 st..