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

휴~ 기초부터 다시 질문입니다.

0 추천
private static final String ID = "_id";
private static final String NAME = "name";

기본이 안된 상태에서 소스 짜깁기로 작업하다보니

응용도 잘 안되고, 일도 재미가 없어지네요.

기본 개념 파악부터 제대로 좀 해볼려고 합니다.

위 소스에서

private static 형(int or String)선언 변수명 = "변수값";

이런 형태에서 private static 이란, 제가 현재 느낌으론

"해당 페이지내에서는 어느 위치에서든 사용 가능한 전역 변수" 인것 같은데 맞나요?

그리고 static 없이 그냥 private SQLiteDatabase db; 처럼 사용되는 경우와 static 이 들어가는 경우의

차이점은 뭔가요?

그리고 private static 다음에 들어오는 final 이란 어떤 의미와 용도를 가지고 있나요?

느낌상으론 "최종 변수 선언", "지금 변수 선언하면 그 이후론 이 페이지내에서 다시는 변수 선언 안하겠다" 의

의미인것 같은데 맞나요?

 

자바는 초보지만 웹개발은 그래도 수년간 해봐서 왠만큼 알아들을 수 있는 준비는 되어있습니다.

개님의습성 (2,500 포인트) 님이 2013년 6월 12일 질문
개님의습성님이 2013년 6월 12일 수정

1개의 답변

+3 추천
 
채택된 답변

final

변수를 상수화 시키는 키워드

한번 결정된 값은 메모리에 올라가 절대로 변경 될 수 없다.

한번만 초기화가 가능하다.

초기화 방법

1) 선언과 동시에 초기화

    final int a = 4;

2) 선언 후 초기화

    final int a;

    a = 4;

위의 두 방법 모두 가능하나, 한번 초기화 후 변경 할수 없는 상수가 됨.

static

하나의 클래스에 대해 생성된 모든 인스턴스(객체)들이 공유하는 변수.

인스턴스마다 하나씩 가지는 것이 아니라, 메모리공간에 하나만 존재 한다.

클래스의 외부에서 접근이 가능한 변수 이며, 이를 위해서는 , public으로 선언되어야 한다.

보통 변수(인스턴스변수)는 인스턴스 생성시 메모리 공간이 할당되고 그 값이 초기화 되는것과 달리 static 변수는

인스턴스 생성 전에 메모리공간을 할당 받고, 값이 초기화 되어있어야 한다. 이와 같은 성질 때문에

생성자에서 static 변수를 초기화 해서는 안된다.

 

static final 변수

값이 변경되지 않으면서 참조만 되는 상수형 참조변수

조금이나마 도움이 되셨으면 좋겠습니다 ^^*

 

안드로메다개발자 (8,830 포인트) 님이 2013년 6월 12일 답변
개님의습성님이 2013년 6월 12일 채택됨
...