본문 바로가기
IT관련/JAVA_정리 노트

지역변수와 멤버변수 요약

by XoX 2020. 4. 23.
728x90
개인적인 메모를 위해 작성된 글이므로 가벼운 참고용으로 봐주세요.

 

지역변수 : 메소드 안의 변수

              메소드(함수) 블럭이 끝나면 생명 끝

              초기화를 하지 않으면 값이 들어가지 않으므로 꼭 초기화(생성자사용)를 해야한다.

              stack 영역

 

 

 

멤버변수 : class영역 안에서 선언된 변수

              클래스변수(static변수)와 인스턴스변수(전역변수)가 있다.

              초기화를 하지 않을 경우 default값(null이나 0)이 들어간다.

              data 영역

              

 

              클래스 변수 : static이 붙은 변수(static변수)

                                클래스에 소속되어 메인 메소드에서 호출하기 전부터 미리 만들어져 언제나 쓸 수 있으며,

                                모든 인스턴스에서 공유가능한 공유변수

                                참조변수 = new 설계도명();을 선언할 때 초기화되고 싶지않으면 속성 앞에 static을 붙여준다.

                                메인 메소드에서 실행시 참조변수명.속성명( ); 또는 클래스명.속성명( ); 형식으로 호출한다.

                                그러나 new 설계도명();을 써서 굳이 인스턴스(=객체)를 만들지 않아도

                                클래스명.속성명( ); 이라고 쓰면 된다는 장점이 있다.

                                ※ 우리가 인스턴스를 새로 만드는 건, 이미 만들어 놓은 것과 차이를 만들고 싶어서이다.

                                    인스턴스마다 다르게 설정한 변수로 다른 결과값을 얻고 싶기때문에

                                    공통된 사항은 굳이 인스턴스를 새로 만들면서 인스턴스변수를 사용할 필요가 없다.

              인스턴스 변수 : static이 안 붙은 변수(전역변수)

                                  new 설계도명();를 써서 인스턴스(=객체)를 만들었을 때

                                  호출하여 사용하며 인스턴스 내에서만 사용하는 변수이다.

                                  참조변수 = new 설계도명();을 선언하면 초기화된다.

                                  메인 메소드에서 실행할 때는 참조변수명.속성명( ); 형식으로 호출한다.

 

 

 

728x90
반응형

'IT관련 > JAVA_정리 노트' 카테고리의 다른 글

조건문의 비교연산자와 치환  (0) 2020.04.25
변수의 의미  (0) 2020.04.24
클래스선언  (0) 2020.04.23
메서드(method) 선언  (0) 2020.04.22
변수선언 배열선언  (0) 2020.04.20

댓글