마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드 자바 개발 시 글로벌 변수 선언 질문

0 추천
자바로 안드로이드 개발을 하고 있는 초보 개발자입니다. 전임자로부터 프로젝트를 인계 받았는데, 궁금한 사항이 있어서 여쭤봅니다.

 A.java, B.java, C.java, D.java와 Global.java 자바 파일들이 있습니다. Global.java 파일에는

public static int var1;

public static int var2;

A.java ~ D.java에서 인스턴스 없이 사용하려고 위와 같은 변수가 선언되어 있는 상태입니다.

결론적으로  A.java ~ D.java 각각의 java 파일에서 변수를 공유하여 쓰려고 하는데, Global.var1 또는 Global.var2 형식으로 사용하고 있는 구조입니다. 개발자마다 다르겠지만 이런 구조로 짜여지는게 맞는 건가요? 학교에서 배우길 static 변수는 사용을 자제하라는 교육을 받은 것 같은데, A.java ~ D.java에서 변수를 공유하여 사용하려면 위 방법보다 더 좋은 방법이 있나요?
zokkkk (180 포인트) 님이 2022년 6월 7일 질문

1개의 답변

+1 추천
 
채택된 답변
좋은 질문입니다.

public static이 절제해야 하는 방식인거는 맞습니다. 다만 어떤 걸 공유하느냐에 따라 다르다고 봅니다. 예를 들면 상수같은 건 반복적으로 사용된다면 public static이 적절한 선택일 것 같구요, 그 외에도 Database 인스턴스나 Network 관련 클래스 등은 해당 인스턴스를 초기화하는데 리소스가 많이 들어가기 때문에 singleton을 사용하는 편이 득이 더 많기 때문에 대부분 singleton을 선호하게 됩니다.  하지만 이런 명확한 이유가 없다면, public static은 자제하는게 맞습니다.
spark (227,470 포인트) 님이 2022년 6월 7일 답변
zokkkk님이 2022년 6월 8일 채택됨
감사합니다 많은 도움이 되었습니다
...