[JAVA] 변수

IT/JAVA 2018. 3. 28. 12:19
변수 ( Variable )

프로그램에 필요한 값을 memory에 일시적으로 저장하고 사용하기위해서 만든다.

 

1. Instance 변수 ( member 변수 )

 - class field에 선언하고 사용하는 변수

 - 객체가 생성되면 객체마다 같은 이름으로 만들어지는 변수

 - instance 변수의 생명주기는 객체화 될 때 생성되고 객체가 소멸될 때까지 사용된다. 

 - static 영역에서는 직접 사용 할 수 없다.(객체화를 해서 사용해야한다.)

└>    static 이 붙어있는 method (클래스가 실행될때 가장먼저 메모리에 할당

되는 영역들 )

 - 자동초기화가 된다. ( 변수를 선언시 값을 넣지 않아도 자바가상머신(JVM)이

정해진 값을 넣어주는 것)

└> 정수형    byte,short,int,long = 0

문자형    char = \u0000 (unicode값,개발자가 직접 기술할수없음)

실수형    float,double = 0.0

불린형    boolean = false;

참조형    class,String,array = null ( heap메모리에 주소를 할당받지 못함 )

작성법

1)선언

접근지정자(접근제한자,접근수정자,Access Modifier) + 데이터형 + 변수명 ;

 

 접근지정자 : 사용범위에 대한 설정

public     : 클래스 외부에서도 접근가능

1개만          proteced : 같은package내의 다른 클래스에서 사용가능

사용가능                      외부 package 에서는 상속관계의 자식클래스에서만 접근가능

            default   : 같은 package내의 다른 클래스에서 접근가능

 private   : class 안에서만 접근 가능

-------------------------------------------------------------------------------

여러개          static     : 공용메모리 생성

사용가능       final       : 값변경 불가

       transient : 객체직렬화 방지키워드

 

2) 객체화 ( heap생성)

 - instance 변수를 사용하기 위한 문법

 - 작성법 ) 클래스명 객체명 = new 클래스명();

 

3) 값 할당

 - 객체명.변수명 = 값;

 

4) 값 사용

 - 객체명.변수명

 

 

2. static 변수 ( static variable , class variable )

 - 공용변수 ( 실행중인 JVM 에서 하나만 만들어 사용하는 변수 )

 - 메모리를 절약 , 사용속도가 인스턴스변수보다 빠르다.

 - 개별 정보를 저장 할 수 없다.

 - 클래스를 실행하면 메모리에 먼저 저장된다.

 - JVM이 종료될때 같이 종료된다.

 - 객체화 없이 바로 사용할수 있다.

 - class 내의 모든 영역에서 사용 할 수 있다.

 - 자동초기화가 된다.

 

작성법)

1) 선언

 접근지정자 static 데이터형 변수명;

 

2) 값할당

 class명.변수명 = 값;

 

3)값사용

 class명.변수명

 

 

 

 

 

위의 소스코드가 잘못된 부분이 있다.

객체명.변수명 보다는 클래스명.변수명으로 사용하는것이 옳바른 사용법이다.

 

 

 

'IT > JAVA' 카테고리의 다른 글

[JAVA] 특수문자 ( Escape Character )  (0) 2018.03.28
[JAVA] 메소드(method)  (0) 2018.03.28
[JAVA] JVM 메모리 영역  (0) 2018.03.28
[JAVA] 반복문  (0) 2018.03.27
[JAVA] 제어문  (0) 2018.03.27
블로그 이미지

이든Kim

,