책으로 나온 자바 교재에서 static 변수에 대해서 설명할때 전역변수의 문제점에 대한 언급이 전혀 없어서 굉장히 답답했는데 다른 몇몇강의들을 보고 정리해 보았다. 실제로 몇달 정도 공부해보면 이게왜 bottom up으로 연결되는건지 의문이 생길것이다. 좀 더 자세히 말하자면 static 으로 고정된 변수가 있는데 이걸 한번도 아니고 무제한으로 다른 코드에서 계속 조작이 가능하다는것이다. 연속적으로 변경을 하고 출력을 할때마다 계속 변경된 값이 반영되는걸 보고 경악을 금치 못했다. "와 이게 뭐야!" 아직 자바의 모든 버전을 살펴볼 여유가 없긴한데, 차후에는 static에 변경가능횟수 제한을 설정할 수 있는 등의 개선이 있을듯 싶기도 하다.
첫째, 절차지향인 프로그래맹에서 처럼 객체지향 OOP프로그래밍에서도 전역변수는 여전히 사용에 유의해야한다. OOP적인 프로그래밍에서도 좀 더 안전한것 뿐이지, 다른 객체와 연결되어있는것이 완벽하게 파악되거나 바로 추적할 수 있는게 아니다.
둘째, 객체 안에서만 사용되는 전역 변수로 제한하는 코드로 작성하도록 해야한다. 그래서 객체의 크기를 최소한 줄여야한다.
셋째, 결국은 만들때 전역변수보다는 파라메타로 받아들이도록 method 코드를 작성해놓는게 좋다.
'프로그래밍 > JAVA' 카테고리의 다른 글
[JAVA] 상속(extends)관계에 있는 참조변수(reference variable )와 method 호출 (0) | 2021.09.02 |
---|---|
[JAVA] 듀얼 모니터 사용시 Swing 팝업창의 위치 (0) | 2021.08.20 |
[JAVA] 자바 swing 실행시 라이브러리 오류로 실행안될때 (0) | 2021.08.20 |
[JAVA] 이클립스로 컴파일된 파일을 프롬프트에서 실행하는 방법 (0) | 2021.08.17 |
[JAVA] Type mismatch: cannot convert from Iterator to HTMLDocument.Iterator (0) | 2021.08.09 |