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

안드로이드 변수,뷰 등을 선언할때 public,private.. 차이점

0 추천
안드로이드 배우고있습니다.
버튼클릭하는예제에서
 
어느곳은
 
public class MainActivity extends Activity implements OnClickListener{
이 가장 큰 녀석 바로아래다가
private Button btn;을 선언하기도하고,
 
public Button btn;으로 선언을하기도하고,
 
아니면 
protected void onCreate(Bundle savedInstanceState){
안에다가 Button btn;으로 선언하기도하더군요.
 
대충의미는 압니다만,
왜 이렇게 나눠지냐가 궁금합니다.
메모리할당량이 많아져서그런가요?
지역변수로 선언했을때 메모리할당량이 줄어들기때문에 public같은건 되도록 쓰지않는건가요?
무조건적으로 되도록이면, Button btn; 처럼 임시선언 되게끔 만들어놔야하는건가요?
 
오늘 코딩짜다가 프로그램이 커지는거보고
문득 이생각이들었습니다.
전문가적인 코딩을 하려면 대충어떤부분에 손이 많이가려나요 ㅠㅠ
익명사용자 님이 2014년 5월 7일 질문

1개의 답변

0 추천
대표적인 요인으로는 private 와 public 은 접근성의 차이를 둬서 시스템의 안전을 보장하기 위함입니다.

A 라는 클래스에서만 사용하는 변수는 A 라는 녀석만 컨트롤이 가능해야하는데

B 라는 클래스에서 A라는 클래스의 변수를 임의로 변경해버리면 곤란하겠죠

그래서 보통은 타 클래스의 변수를 컨트롤하려면 get 함수를 임의로 만들어 땡겨쓰고

직접 접근하여 쓰지 않습니다.

 

private 와 public 은 지역/전역변수와는 관련이 없습니다.

그리고 자바에서는 전역변수가 존재하지 않아요. 모두 클래스 내부에 선언된 지역변수지요.
초보개발자ㅠ (33,870 포인트) 님이 2014년 5월 7일 답변
...