로그인 바로가기 하위 메뉴 바로가기 본문 바로가기
난이도
심화

안드로이드 앱 프로그래밍

임시 이미지 정재곤
http://www.boostcourse.org/mo316/forum/3692
좋아요 1436 수강생 20117

현재 프로젝트6를 진행 중에 있습니다.

제가 질문하고 싶은 내용은 static에 관한 것입니다.

저는 

static int[] movieId = new int[5];
static int[] grade = new int[5];
static String[] imageUrl = new String[5];
static String[] movieTitle = new String[5];
static float[] movieReservation = new float[5];

#앞에 범위는 생략했습니다.

이렇게 배열로 지정을 하고 있습니다. 이게 뭐냐면 뷰페이져에들어가는 내용들을 담는 배열입니다.

그런데 특이하게도(아니 이상하게도) staic이 붙여져 있습니다. (전체 코드를 공유하고 싶지만...)

저는 이 staic을 지우고 싶습니다. static이 변하지 않는 변수? 상수 같은데에 사용하는 걸로 알고 있습니다.

하지만 저 변수들은 0~4번까지 값이 변합니다. 그래서 static을 사용하면 안되는 걸 알면서도

사용할수 밖에 없습니다. 무슨 이유인지는 모르지만 static을 입력하지 않으면, 값이 한개도 보이지 않습니다.

그러니까... 아무것도 없는 공백으로 나오던가..0,null...등으로 값이 변환되서 나옵니다. 

더욱이 이상 한것은 static을 붙이면, 값이 나옵니다. 그래서 static에 대해서 조사를 조금해보았습니다. 

static은 클래스로 연결을 할수 있는 변수라고 합니다. 그래서인지는 모르지만 객체화가 필요하지 않습니다.

그러면, 다시 제 프로젝트로 돌아와서 static으로 적었다는 건 객체화 작업이 필요없다는 이야기고,

인스턴스변수를 만들 필요가 없다는 것으로 해석 할 수 있습니다. 이번에는 staic을 지우면 변수는 더 이상 클래스로 접근이 불가능합니다. 그래서 인스턴스화를 시켜서 인스턴스변수로 제가 설정한 변수들을 접근을 시켜야합니다. 여기까지 하면, 당연히 되는줄 알았습니다. 하지만 예상과 달리 아무런 정보가 보이지 않습니다. 그렇다는 소리는 정상적으로 객체화?를 시켜주지 못한다는 이야기인데....

이 부분을 모르겠습니다. 왜 값이 보여지지 않을 까요? 답답한 마음에 질문을 올립니다.

아니면, 대응책좀 알려주실수 있으신가요? ,

핵심만 말해드리자면, 프로젝트에서 static을 이용하지 않으면 데이터가 보이지 않는다.

하지만 static을 이용 하지않고  데이터를 보이게 하고 싶다. 

(staic을 이용해야 영화목록을 볼수가 있다. 지우고 싶다.)


장황하게 제 문제점에 대해 나열해봤지만, 틀린 부분이 있을거라고 생각합니다. 어디서 들은거와 어디서 본거의 콜라보레이션인지라.. 만약 틀린 부분이 있다면, 지적해주면 감사하겠습니다.